mengembalikan objek JQXHR-A JQuery-Dibungkus XMLHTTPREQUEST. Ini bukan XMLHTTPREQUEST yang benar, tetapi superset yang menyediakan API yang lebih mantap dan konsisten. Ia pada dasarnya bertindak sebagai jambatan antara jQuery dan objek XMLHTTPREQUEST asli pelayar. $.ajax()
Ciri -ciri utama dan fungsi:
Objek JQXHR meningkatkan XMLHTTPREQUEST asli dengan:
Last-Modified
, etag
, dan jenis mime. Content-Type
.done()
, dan .fail()
Panggil balik janji. .always()
readyState
, status
, statusText
, responseXML
, responseText
, getAllResponseHeaders()
, getResponseHeader()
, dan abort()
. Perhatikan bahawa setRequestHeader()
tidak disokong secara langsung kerana mekanisme panggilan balik yang disediakan. onreadystatechange
latar belakang pada xmlhttprequest (xhr):
xmlhttprequest adalah API penyemak imbas yang digunakan untuk menghantar permintaan HTTP (atau HTTPS) ke pelayan dan menerima respons secara langsung dalam JavaScript. Walaupun namanya mencadangkan penggunaan XML sahaja, ia menyokong pelbagai jenis data dan protokol. Walau bagaimanapun, ia tertakluk kepada dasar asal yang sama untuk alasan keselamatan.
Soalan Lazim (Soalan Lazim):
JQXHR vs. Ajax tradisional: JQXHR menawarkan antara muka yang lebih efisien dan kaya dengan ciri-ciri berbanding dengan XMLHTTPREQUEST mentah, terutamanya dalam pengendalian kesilapan dan aliran asynchronous berasaskan janji.
Kaedah adalah cara utama untuk mengendalikan kesilapan, menerima objek JQXHR, , dan .fail()
sebagai argumen. textStatus
errorThrown
Kaedah membatalkan permintaan yang belum selesai. Perhatikan bahawa permintaan yang sudah disertakan mungkin tidak boleh dibatalkan.
.abort()
Harta menyediakan kod status HTTP (mis., 200 untuk kejayaan, 404 untuk tidak dijumpai).
jqxhr dan jsonp: JQXHR berfungsi dengan JSONP, tetapi pengendalian ralat terhad kerana batasan penyemak imbas; .always()
sering digunakan bukannya .fail()
.
Chaining Ajax Permintaan: Antara muka janji membolehkan Chaining menggunakan .then()
.
Permintaan segerak: Walaupun mungkin (tetapan async: false
), permintaan segerak umumnya tidak digalakkan kerana penyekat penyemak imbas yang berpotensi.
Mendapatkan semula data tindak balas: Gunakan .responseText
(String), .responseXML
(xml), atau argumen panggilan balik .done()
.
Menetapkan tajuk tersuai: Gunakan .setRequestHeader()
. Sekatan penyemak imbas boleh dikenakan.
Kaedah Permintaan Pemantauan: Kaedah .progress()
menyediakan kemas kini kemajuan.
Sumber lebih lanjut:
Penjelasan yang dipertingkatkan ini memberikan pemahaman yang lebih komprehensif mengenai objek JQXHR dan peranannya dalam memudahkan interaksi Ajax dalam jQuery. Ingatlah untuk menggantikan pautan kurungan dengan URL sebenar jika anda memilikinya.
Atas ialah kandungan terperinci Apakah objek JQXHR?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!