Al desarrollar una aplicación móvil usando PhoneGap o, lo realmente puede acelerar su desarrollo. Se podía servir a los archivos HTML utilizando directamente Cordova sirven, pero la plataforma del navegador, mientras que ser casi tan rápido, es mucho más cerca del androide / IOS Entornos de su aplicación con el tiempo se encontrará en. También tiene acceso a la API de Córdoba.
Mi flujo de trabajo general es que sigo Cordova navegador running en una ventana de terminal (esto comenzará inicialmente una nueva instancia de cromo), y ejecutar periódicamente Cordova preparar navegador que estoy desarrollando. Esta última paquetes de intensificar la "app", junto con los bits cordova.js, para la plataforma del navegador.
Sin embargo, si su aplicación hace contacto con un API de servidor externo o en cualquier momento, por ejemplo, con jQuery.ajax (), que serán recibidos por el siguiente error:
XMLHttpRequest no puede cargar ncabecera 'Access-Control-Allow-Origin' está presente en la solicitadarecurso. por lo tanto, no se permite Origen 'acceso.
En resumen, el navegador Chrome es (sabiamente) negarse a acceder a ese recurso fuera (la API o servidor) por razones de seguridad. Si su navegador no lo hizo, un atacante podría acceder fácilmente a servicios Web mediante su identidad!
Leyendo acerca de esta cuestión en el contexto de Córdoba / PhoneGap, se puede encontrar la solución común para estar bien para modificar el servidor que está accediendo a permitir explícitamente este tipo de acceso de origen cruzado, o para configurar un proxy si el primero no es posible. A menudo, la ex de hecho no es posible (en mi caso, la aplicación está hablando con un router de hardware API), pero el último es simplemente demasiado esfuerzo innecesario.
.