⊗jsSpAXCP 258 of 294 menu

Сиёсати CORS дар дархостҳои AJAX дар JavaScript

Тавассути AJAX наметавонед оддӣ ба дигар вебсайтҳо дархост фиристед (cross-origin requests). Чунин дархостҳо тавассути сиёсати CORS танзим карда мешаванд. Ба хулоса, тибқи ин сиёсат, вебсайте, ки шумо дархост ба он фиристед, бояд ба посух додан ба он розӣ бошад. Барои ин, он бояд сарсуратҳои HTTP-и мувофиқро фиристед.

Биёед дар амал санҷем. Ду сервери тестиро дар портҳои гуногун меандозем. Якум дар 3001, ва дуюм дар 3002. Биёед аз вебсайти дуюм ба вебсайти якум дархости AJAX бифиристем.

Бигзор вебсайти якум барои қабули дархостҳои зерин омода бошад:

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

Аз вебсайти дуюм ба вебсайти якум дархост мефиристем:

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

Дар натиҷа дархост иҷро намешавад, ва дар консоли браузер мо хатоеро мебинем, ки ба сиёсати CORS марбут аст.

Барои он ки дархост иҷро шавад, сервери якум бояд сарсуратҳои HTTP-и махсусро фиристед. Биёед онҳоро муайян кунем - ва дархост аз вебсайти дуюм ба вебсайти якум гузаштан мегирад:

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