Rumah > Artikel > hujung hadapan web > Bagaimana untuk menggunakan ralat untuk menyahpepijat ralat dalam ajax dalam jquery_jquery
Contoh dalam artikel ini menerangkan cara menggunakan ralat untuk menyahpepijat ralat dalam ajax dalam jquery. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
JQuery membolehkan kami meningkatkan kecekapan dan mengurangkan banyak isu keserasian apabila membangunkan aplikasi Ajax dalam projek Ajax kami, apakah yang perlu kami lakukan jika kami menghadapi ralat dalam ajax mendapatkan data secara tidak segerak. maklumat.
Penggunaan biasa ajax dalam jquery adalah serupa dengan:
$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url: url, type: "post", data: { id: '0' }, dataType: "json", success: function(msg) { alert(msg); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); }, complete: function(XMLHttpRequest, textStatus) { this; // 调用本次AJAX请求时传递的options参数 } }); }); });
Apabila panggilan tak segerak melalui ajax berjaya, fungsi kejayaan akan dipanggil. Sintaks fungsi kejayaan ialah:
//请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态 function (data, textStatus) { // data could be xmlDoc, jsonObj, html, text, etc... this; // the options for this ajax request }
Apabila ralat berlaku semasa panggilan ajax tak segerak, fungsi ralat akan dipanggil. Sintaks fungsi ralat ialah:
//(默 认: 自动判断 (xml 或 html)) 请求失败时调用时间。 //参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。 //如果发生了错误,错误信息(第二个参数)除了得到null之外, //还可能是"timeout", "error", "notmodified" 和 "parsererror"。 //textStatus: "timeout", "error", "notmodified" 和 "parsererror"。 error:function (XMLHttpRequest, textStatus, errorThrown) { }
Parameter pertama XMLHttpRequest dikembalikan oleh peristiwa ralat:
XMLHttpRequest.readyState: Maksud kod status
0 - (uninitialized) send() kaedah belum dipanggil lagi
1 - (Memuatkan) Kaedah hantar() telah dipanggil dan permintaan sedang dihantar
2 - (Pemuatan selesai) Kaedah hantar() telah dilaksanakan dan semua kandungan respons telah diterima
3 - (Interaktif) Menghuraikan kandungan respons
4 - (Lengkap) Penghuraian kandungan respons selesai dan boleh dipanggil pada klien
Ralat penghantaran mungkin disebabkan oleh dua berikut, atau masalah prosedur lain, yang memerlukan kami berhati-hati.
1. data: "{}", jika data kosong, anda mesti lulus "{}" jika tidak, data yang dikembalikan akan berada dalam format xml. Dan ralat parser segera.
2. Pengecualian parsererror juga berkaitan dengan jenis Header. dan pengepala pengekodan('Content-type: text/html; charset=utf8');
Saya harap artikel ini akan membantu pengaturcaraan jQuery semua orang.