⊗jsSpAXCP 258 of 294 menu

Política CORS en solicitudes AJAX en JavaScript

A través de AJAX no se pueden simplemente hacer solicitudes a otros sitios web (cross-origin requests). Estas solicitudes se rigen por la política CORS. En resumen, según esta política, el sitio al que dirige su solicitud debe aceptar responderla. Para ello, debe enviar los correspondientes encabezados HTTP.

Probemos en la práctica. Ejecutemos dos servidores de prueba en diferentes puertos. El primero en 3001, y el segundo en 3002. Intentemos enviar una solicitud AJAX desde el segundo sitio al primero.

Supongamos que el primer sitio está listo para aceptar las siguientes solicitudes:

export default { '/handler/': function({ body }) { console.log(body); return 'success'; } }

Enviemos desde el segundo sitio una solicitud al primero:

button.addEventListener('click', function() { let promise = fetch('http://localhost:3001/handler/', { method: 'post', body: JSON.stringify([1, 2, 3, 4, 5]), headers: { 'Content-Type': 'application/json', }, }); });

Como resultado, la solicitud no se ejecutará, y en la consola del navegador veremos un error relacionado con la política CORS.

Para que la solicitud se ejecute, el primer servidor debe enviar encabezados HTTP especiales. Especificémoslos - y la solicitud desde el segundo sitio comenzará a llegar al primero:

export default { '/handler/': function({ body, resp }) { resp.setHeader('Access-Control-Allow-Origin', '*'); resp.setHeader('Access-Control-Allow-Headers', '*'); console.log(body); return 'success'; } }
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar