origin net enablecors enable control asp allow angularjs http cors ionic-framework asp.net-web-api2

angularjs - net - la aplicación iónica no puede conectar el servidor cors habilitado con $ http



system web http cors enablecors (2)

cordova-plugin-whitelist parece ser "obligatorio" en este momento.

instalarlo :

cordova plugin add cordova-plugin-whitelist

configurar config.xml

Puede mantener su configuración actual con * o cambiar por reglas más restrictivas

agregue una política html en index.html, también deberá agregar una Política. Para autorizar todo, aquí está:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src ''self'' ''unsafe-inline''; script-src ''self'' ''unsafe-inline'' ''unsafe-eval''"

Estoy tratando de construir una aplicación móvil con un marco iónico. Cuando mi aplicación intenta conectar el servidor para obtener json (el servidor es web api y cors está habilitado) simplemente devuelve 404 en genymotion y dispositivo real. Pero cuando ejecuto la aplicación en el navegador con ionic serve todo funciona bien.

Estoy bastante seguro de que CORS es funcional. Aquí recibí el encabezado de respuesta mientras la aplicación trabajaba en el navegador.

Respuesta

Access-Control-Allow-Origin:* Cache-Control:no-cache Content-Length:395 Content-Type:application/json; charset=utf-8 Date:Fri, 08 May 2015 20:24:04 GMT Expires:-1 Pragma:no-cache Server:Microsoft-IIS/7.0 X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET

Solicitud :

Accept:application/json, text/plain, */* Accept-Encoding:gzip, deflate, lzma, sdch Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:no-cache Connection:keep-alive DNT:1 Host:*******:14400 Origin:http://192.168.0.28:8100 Pragma:no-cache Referer:http://192.168.0.28:8100/

Config.xml tiene <access origin="*"/> esta línea en configuración

en mi app.js eliminé los encabezados X-Requerido-Con para todas las llamadas http.

.config([''$httpProvider'', function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common[''X-Requested-With'']; } ])

Yo uso las solicitudes al servidor en mis clases de fábrica.

$http.get(serverPath + "/api/mobilerest/mainPage");

Cuando ejecuto la aplicación en Genymode o dispositivo real, la respuesta es 404 y statusText es ''no encontrado''. Estoy bastante seguro de que la API web está funcionando, la causa de este comportamiento está en las aplicaciones iónicas, mi aplicación es un archivo local y el protocolo es file: /// entonces el encabezado Origin es nulo en la solicitud, luego el servidor devuelve 404. También probé un archivo local sin ningún servidor me sale el mismo error que en la aplicación.

Accept:*/* Accept-Encoding:gzip, deflate, sdch Accept-Language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:no-cache Connection:keep-alive DNT:1 Host:server:14400 Origin:null Pragma:no-cache

Me estoy perdiendo de algo ?


puedes entrar al archivo config.xml y editar esta línea

<access origin="*://*/*" />

y puede llamar a cualquier información sin intrusión de CORS en la consola gracias por aplicar este código a su aplicación iónica