Estoy tratando de usar Ajax para solicitar información de una API. Al intentar ejecutar el siguiente código, recibo este error:
XMLHttpRequest no se puede cargar. El control de caché del campo de encabezado de solicitud no está permitido por Access-Control-Allow-Headers en la respuesta de verificación previa.
Aquí está el código:
var Onion = { "async": true, "crossDomain": true, "url": "https://webhose.io/search?token=fc70c82d-7bd6-4bed-aafe-4d4e65c7e5db&format=json&q=&site=theonion.com&size=12", "dataType": "json", "method": "GET", "headers": { "cache-control": "no-cache", "postman-token": "9a49be98-19cb-ebc6-9f52-4be90c88222b", "Access-Control-Allow-Headers": true, } } $.ajax(Onion).done(function (response) { console.log(response); console.log(response.posts[0].title);Soy un codificador principiante y creo que necesito agregar algo al encabezado. ¿Alguna sugerencia?
¡Gracias de antemano por tu ayuda!
Estás enviando estos 3 encabezados HTTP en tu solicitud:
"cache-control": "no-cache" "postman-token": "9a49be98-19cb-ebc6-9f52-4be90c88222b" "Access-Control-Allow-Headers": trueEl navegador está arrojando este error:
XMLHttpRequest no puede cargar https://webhose.io/search?token=fc70c82d-7bd6-4bed-aafe-4d4e65c7e5db&format=json&q=&site=theonion.com&size=12&_=1489245026633 . El campo de encabezado de solicitud postman-token no está permitido por Access-Control-Allow-Headers en la respuesta de verificación previa.
Y en la respuesta HTTP, el servidor remoto te envía este encabezado:
Access-Control-Allow-Headers:accept, origin, Content-type, x-json, x-prototype-version, x-requested-with, authorizationEsto significa que ni los encabezados HTTP cache-control , ni postman-token , ni Access-Control-Allow-Headers están permitidos en la solicitud HTTP, solo accept , origin , Content-type , x-json , x-prototype-version , x -solicitado-con , se permite la autorización .