⊗jsSpAXCP 258 of 294 menu

Politika CORS në Kërkesat AJAX në JavaScript

Nëpërmjet AJAX nuk mund të bësh thjesht kërkesa në sajte të tjera (cross-origin requests). Kërkesa të tilla rregullohen nga politika CORS. Shkurtimisht, sipas kësaj politike sajti, në të cilin ju dërgoni kërkesën, duhet të pranojë të përgjigjet për të. Për këtë ai duhet të japë headers HTTP përkatëse.

Le të provojmë në praktikë. Le të nisim dy server testues në porta të ndryshme. I pari në 3001, dhe i dyti në 3002. Le të përpiqemi të dërgojmë një kërkesë AJAX nga sajti i dytë në të parin.

Le të supozojmë se sajti i parë është gati të pranojë kërkesat e mëposhtme:

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

Le të dërgojmë nga sajti i dytë një kërkesë në të parin:

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

Si rezultat kërkesa nuk do të ekzekutohet, dhe në konsolën e shfletuesit do të shohim një gabim, të lidhur me politikën CORS.

Që kërkesa të ekzekutohet, serveri i parë duhet të japë headers HTTP speciale. Le t'i përcaktojmë ato - dhe kërkesa nga i dyti sajti do të fillojë të kalojë në të parin:

export default { '/handler/': function({ body, resp }) { resp.setHeader('Access-Control-Allow-Origin', '*'); resp.setHeader('Access-Control-Allow-Headers', '*'); console.log(body); return 'success'; } }
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo