Memahami Pengepala Permintaan Kawalan Akses
Apabila membuat permintaan HTTP melalui AJAX menggunakan jQuery, adalah penting untuk mengendalikan isu kawalan akses untuk permintaan silang asal . Satu aspek ini ialah menambahkan pengepala tersuai pada permintaan. Menariknya, apabila memeriksa permintaan menggunakan FireBug, nampaknya pengepala tersuai diletakkan ke dalam pengepala Access-Control-Request-Headers dan bukannya nilai yang dijangkakan dalam pengepala masing-masing.
Mengatasi Isu
Tingkah laku ini berpunca daripada langkah keselamatan penyemak imbas dan cara permintaan AJAX mengendalikan asal silang interaksi. Untuk menyelesaikan masalah ini, ikuti langkah yang digariskan dalam jawapan yang disediakan:
$.ajax({ type: "POST", beforeSend: function(request) { request.setRequestHeader("My-First-Header", "first value"); request.setRequestHeader("My-Second-Header", "second value"); }, url: url, data: data, success: function(msg) { alert(msg); } });
Pilihan beforeSend membolehkan anda menetapkan pengepala permintaan sebelum permintaan dihantar. Dengan menggunakan pilihan ini, pengepala tersuai ditambah terus pada permintaan dan tidak disertakan dalam pengepala Access-Control-Request-Headers.
Kesimpulan
Dengan melaksanakan pilihan beforeSend, anda boleh menambah pengepala tersuai dengan berkesan pada permintaan AJAX tanpa menghadapi isu kawalan akses. Ini membolehkan anda menghantar maklumat tambahan dengan permintaan anda dan berinteraksi dengan sumber silang asal dengan selamat dan cekap.
Atas ialah kandungan terperinci Mengapa Pengepala Tersuai Muncul dalam Pengepala Permintaan-Kawalan Akses Semasa Permintaan AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!