⊗jsSpAXCP 258 of 294 menu

CORS politika AJAX kérésekben JavaScriptben

AJAX-on keresztül nem lehet egyszerűen csak úgy kéréseket intézni más weboldalakhoz (cross-origin requests). Az ilyen kéréseket a CORS politika szabályozza. Röviden, e politika szerint annak a weboldalnak, amelyhez a kérést intézed, bele kell egyeznie, hogy válaszoljon rá. Ehhez megfelelő HTTP fejléceket kell küldenie.

Próbáljuk ki gyakorlatban. Indítsunk el két teszt szervert különböző portokon. Az elsőt a 3001-es porton, a másodikat pedig a 3002-es porton. Próbáljunk meg egy AJAX kérést küldeni a második oldalról az elsőre.

Tegyük fel, hogy az első oldal kész fogadni a következő kéréseket:

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

Küldjünk a második oldalról egy kérést az elsőre:

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', }, }); });

Ennek eredményeképpen a kérés nem fog lefutni, és a böngésző konzoljában egy CORS politikához kapcsolódó hibát fogunk látni.

Ahhoz, hogy a kérés lefusson, az első szervernek különleges HTTP fejléceket kell küldenie. Adjunk meg ezeket - és a második oldalról érkező kérés elkezd majd átjutni az elsőre:

export default { '/handler/': function({ body, resp }) { resp.setHeader('Access-Control-Allow-Origin', '*'); resp.setHeader('Access-Control-Allow-Headers', '*'); console.log(body); return 'success'; } }
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás