⊗jsSpAXCP 258 of 294 menu

Kebijakan CORS dalam Permintaan AJAX di JavaScript

Melalui AJAX, Anda tidak bisa begitu saja melakukan permintaan ke situs lain (cross-origin requests). Permintaan semacam itu diatur oleh kebijakan CORS. Secara singkat, menurut kebijakan ini, situs yang Anda tuju dengan permintaan harus menyetujui untuk menanggapinya. Untuk itu, situs harus memberikan header HTTP yang sesuai.

Mari kita coba secara praktis. Jalankan dua server tes pada port yang berbeda. Pertama pada 3001, dan kedua pada 3002. Mari kita coba kirim permintaan AJAX dari situs kedua ke situs pertama.

Misalkan situs pertama siap menerima permintaan berikut:

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

Kirim permintaan dari situs kedua ke situs pertama:

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

Akibatnya, permintaan tidak akan dieksekusi, dan di konsol browser kita akan melihat error, terkait dengan kebijakan CORS.

Agar permintaan dieksekusi, server pertama harus memberikan header HTTP khusus. Mari kita tentukan header tersebut - dan permintaan dari situs kedua akan mulai berhasil ke situs pertama:

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