javascript - enable - AngularJS No encabezado ''Access-Control-Allow-Origin''
enable cors (5)
Esta pregunta ya tiene una respuesta aquí:
Tengo una aplicación AngularJS que necesito para publicar datos en una URL de terceros que se utiliza para almacenar algunos datos en el servidor de terceros. Recibo el siguiente error cuando ejecuto mi código a continuación: XMLHttpRequest no puede cargar http://thirdparty.url.com/ . La respuesta a la solicitud de verificación previa no pasa la comprobación de control de acceso: No hay encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. El origen '' http: // localhost: 51491 '' no está, por lo tanto, permitido.
El código que estoy ejecutando en mi fábrica de AngularJS es:
return $http({
url: ''//thirdparty.url.com'',
method: "POST",
data: params_string,
headers: {
''Access-Control-Allow-Origin'': ''*'',
''Access-Control-Allow-Methods'': ''POST, GET, OPTIONS, PUT'',
''Access-Control-Allow-Headers'': ''Origin, X-Requested-With, Content-Type, Accept''
}
});
Agregue la extensión CORS
a su navegador Chrome
El intercambio de recursos de origen cruzado (CORS) es una especificación que define las formas en que un servidor web permite que se acceda a sus recursos mediante el script que se ejecuta en una página web desde un dominio diferente.
El servidor y el cliente trabajan juntos, usando encabezados HTTP para hacer posible el acceso a los recursos de origen cruzado.
En su caso, dado que su navegador (cliente) es Chrome / Firefox (y no la versión anterior de IE), el problema no está en el navegador.
Cuando haces una llamada ajax, el navegador de forma predeterminada agregará un encabezado de solicitud
Origin: yourdomainname
Tu llamada ajax solo será exitosa cuando el servidor ( http://thirdparty.url.com ) envíe una respuesta similar a la siguiente
Access-Control-Allow-Origin: *
En su caso, el encabezado de respuesta anterior no está siendo enviado por el servidor.
Esto significa que su http://thirdparty.url.com/ No acepta solicitudes de fuentes externas que no son / son de http://thirdparty.url.com/ , por lo que debe habilitarlo desde su thirdparty.url. com
No puede habilitar CORS
desde el lado del cliente. Debería establecer a nivel del servidor.
Access-Control-Allow-Origin
encabezado Access-Control-Allow-Origin
debe agregarse en el thirdparty.url.com
que está intentando acceder y no en su propio código. Es para que el sitio web controle permitiendo el acceso a los usuarios, para que pueda hacer algo al respecto desde su lado.