Adakah yang tahu cara menambahkan atau membuat header HTTP khusus menggunakan JavaScript atau jQuery?
Adakah yang tahu cara menambahkan atau membuat header HTTP khusus menggunakan JavaScript atau jQuery?
Ada beberapa solusi tergantung pada apa yang Anda butuhkan ...
Jika Anda ingin menambahkan tajuk khusus (atau set tajuk) ke permintaan individual, cukup tambahkan headers
properti:
// Request with custom header
$.ajax({
url: 'foo/bar',
headers: { 'x-my-custom-header': 'some value' }
});
Jika Anda ingin menambahkan header default (atau set header) untuk setiap permintaan, gunakan $.ajaxSetup()
:
$.ajaxSetup({
headers: { 'x-my-custom-header': 'some value' }
});
// Sends your custom header
$.ajax({ url: 'foo/bar' });
// Overwrites the default header with a new header
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
Jika Anda ingin menambahkan header (atau set header) untuk setiap permintaan, gunakan beforeSend
hook dengan $.ajaxSetup()
:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
});
// Sends your custom header
$.ajax({ url: 'foo/bar' });
// Sends both custom headers
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });
Sunting (info lebih lanjut): Satu hal yang perlu diperhatikan adalah bahwa dengan ajaxSetup
Anda hanya dapat menentukan satu set tajuk default dan Anda hanya dapat menentukan satu beforeSend
. Jika Anda menelepon ajaxSetup
beberapa kali, hanya set header terakhir yang akan dikirim dan hanya callback sebelum-kirim terakhir yang akan dieksekusi.
beforeSend
ketika melakukan$.ajax
?beforeSend
panggilan balik. Jika Anda menelepon$.ajaxSetup({ beforeSend: func... })
dua kali maka panggilan balik kedua akan menjadi satu-satunya yang menyala.ajaxSetup
.Atau, jika Anda ingin mengirim tajuk khusus untuk setiap permintaan di masa mendatang, maka Anda dapat menggunakan yang berikut:
Dengan cara ini setiap permintaan ajax di masa depan akan berisi tajuk khusus, kecuali secara eksplisit ditimpa oleh opsi permintaan. Anda dapat menemukan info lebih lanjut di
ajaxSetup
sinisumber
Dengan asumsi JQuery ajax, Anda dapat menambahkan header khusus seperti -
sumber
Berikut ini contoh menggunakan XHR2:
Semoga itu bisa membantu.
Jika Anda membuat objek Anda, Anda bisa menggunakan fungsi setRequestHeader untuk menetapkan nama, dan nilai sebelum Anda mengirim permintaan.
sumber
$.ajax*
fungsi b / c mereka tidak bergantung pada jQuery dan sebaliknya menggunakan XHR jadi ini adalah satu-satunya pilihan yang valid dalam kasus-kasus tersebut.Anda juga dapat melakukan ini tanpa menggunakan jQuery. Ganti metode pengiriman XMLHttpRequest dan tambahkan header di sana:
sumber
Anda harus menghindari penggunaan
$.ajaxSetup()
seperti yang dijelaskan dalam dokumen . Gunakan yang berikut ini sebagai gantinya:sumber
Dengan asumsi yang Anda maksud "Ketika menggunakan ajax" dan " header Permintaan HTTP ", kemudian gunakan
headers
properti di objek yang Anda lewatiajax()
- http://api.jquery.com/jQuery.ajax/
sumber
Metode "setRequestHeader" objek XMLHttpRequest harus digunakan
http://help.dottoro.com/ljhcrlbv.php
sumber
Anda dapat menggunakan js fetch
Tampilkan cuplikan kode
sumber