⊗jsSpAXCP 258 of 294 menu

JavaScript-тегі AJAX сұраныстарындағы CORS саясаты

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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау