with headers example json angularjs http cross-domain

json - headers - Solicitud http de varios dominios AngularJS



angularjs http post example with headers (2)

Tengo un sitio web simple que estoy construyendo con AngularJS que llama a una API para datos json.

Sin embargo, estoy obteniendo un problema de origen de dominio cruzado, ¿hay alguna forma de esto para permitir solicitudes de dominios cruzados?

Error:

XMLHttpRequest no puede cargar http://api.nestoria.co.uk/api?country=uk&pretty=1&action=search_listings&place_name=soho&encoding=json&listing_type=rent . Ningún encabezado ''Access-Control-Allow-Origin'' está presente en el recurso solicitado. El origen ''http: // localhost'' no está, por lo tanto, permitido.

searchByPlaceName: function() { var url = baseurl+''country=uk&pretty=1&action=search_listings&place_name=london''+encoding+type; return $http.get(url); }


Instala el Fiddler. Añádale una regla personalizada:

static function OnBeforeResponse(oSession: Session) { oSession.oResponse.headers.Add("Access-Control-Allow-Origin", "*"); }

Esto le permitiría realizar solicitudes de dominios cruzados desde localhost. Si la API es HTTPS, asegúrese de habilitar "descifrar el tráfico HTTPS" en el violín.

Referencia

-------------------- ACTUALIZAR

La respuesta que estás recibiendo es JSON. Especificar JSONP como tipo de datos no funcionaría. Cuando especifica JSONP, la devolución debe ser una función, no un objeto JSON.

JSONP


Parece que api.nestoria.co.uk no permite CORS. Tiene que establecer el encabezado de Access-Control-Allow-Origin sí mismo; usted no tiene control directo sobre eso.

Sin embargo, puedes usar JSONP. Ese sitio lo permite a través del parámetro de consulta de callback .

$http.jsonp(baseurl+''country=uk&pretty=1&action=search_listings&place_name=london'' +encoding+type + "&callback=JSON_CALLBACK")