अजाक्स error
फ़ंक्शन में आवश्यक पैरामीटर हैं jqXHR, exception
और आप इसे नीचे की तरह उपयोग कर सकते हैं:
$.ajax({
url: 'some_unknown_page.html',
success: function (response) {
$('#post').html(response.responseText);
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
$('#post').html(msg);
},
});
डेमो FIDDLE
पैरामीटर
jqXHR:
यह वास्तव में एक त्रुटि वस्तु है जो इस तरह दिखता है
आप इसे अपने स्वयं के ब्राउज़र कंसोल में भी देख सकते हैं, जैसे console.log
कि error
फंक्शन के अंदर का उपयोग करके :
error: function (jqXHR, exception) {
console.log(jqXHR);
// Your error handling logic here..
}
हम status
त्रुटि कोड प्राप्त करने के लिए इस ऑब्जेक्ट से संपत्ति का उपयोग कर रहे हैं , जैसे कि अगर हमें स्थिति = 404 मिलता है तो इसका मतलब है कि अनुरोधित पृष्ठ नहीं मिल सकता है। यह बिल्कुल मौजूद नहीं है। उस स्थिति कोड के आधार पर हम उपयोगकर्ताओं को लॉगिन पृष्ठ या हमारे व्यावसायिक तर्क के लिए जो भी आवश्यक हो, पुनर्निर्देशित कर सकते हैं।
अपवाद:
यह स्ट्रिंग चर है जो अपवाद प्रकार दिखाता है। इसलिए, यदि हम 404 त्रुटि प्राप्त कर रहे हैं, तो exception
पाठ केवल 'त्रुटि' होगा। इसी तरह, हम अन्य अपवाद ग्रंथों के रूप में 'टाइमआउट', 'गर्भपात' प्राप्त कर सकते हैं।
विरोध का नोटिस:jqXHR.success()
, jqXHR.error()
, और jqXHR.complete()
कॉलबैक jQuery 1.8 के रूप में पदावनत कर रहे हैं। अपने अंतिम हटाने के लिए अपने कोड तैयार करने के लिए, का उपयोग करें jqXHR.done()
, jqXHR.fail()
और jqXHR.always()
बजाय।
तो, अगर आप jQuery 1.8 या इसके बाद के संस्करण का उपयोग कर रहे हैं, तो हमें सफलता और त्रुटि फ़ंक्शन तर्क को अपडेट करना होगा: -
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax("some_unknown_page.html")
.done(function (response) {
// success logic here
$('#post').html(response.responseText);
})
.fail(function (jqXHR, exception) {
// Our error logic here
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
$('#post').html(msg);
})
.always(function () {
alert("complete");
});
आशा करता हूँ की ये काम करेगा!
dataType
नहीं हैdatatype
।