⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј