⊗jsSpAXCP 258 of 294 menu

JavaScript-daky AJAX haýyşlarynda CORS syýasaty

AJAX arkaly beýleki saýtlara haýyş etmek mümkin däl (cross-origin requests). Şeýle haýyşlar CORS syýasaty tarapyndan düzgünleşdirilýär. Gysgaça, bu syýasata görä, siziň haýyş iberýän saýtyňyz, haýyşyňyza jogap bermäge razy bolmaly. Bunuň üçin ol degişli HTTP çäglerini bermeli.

Amalyýetde synaýaly. iki test serwerini dürli portlarda işledeli. Birinjisi 3001, ikinjisi bolsa 3002 portunda. Ikinci saýtdan birinji saýta AJAX haýyş iberip synaýaly.

Birinji saýt aşakdaky haýyşlary kabul etmäge taýýr:

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

Ikinci saýtdan birinji saýta haýyş ibereli:

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

Netijede haýyş ýerine ýetirilmez, brauzeriň konsolunda bolsa CORS syýasaty bile baglanyşykly ýalňyşlygy göreris.

Haýyşyň ýerine ýetirilmegi üçin, birinji serwer ýörite HTTP çäglerini bermeli. Olary nygtaýaly - we ikinji saýtdan birinji saýta haýyş geçip başlar:

export default { '/handler/': function({ body, resp }) { resp.setHeader('Access-Control-Allow-Origin', '*'); resp.setHeader('Access-Control-Allow-Headers', '*'); console.log(body); return 'success'; } }
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et