jQuery AJAX त्रुटि हैंडलिंग को संभालने के लिए लागू किया गया है यदि HTTP Request
में कोई त्रुटि नहीं है यदि आपकी स्क्रिप्ट "त्रुटि" या "सफलता" लौट रही है। यदि सर्वर एक त्रुटि फेंकता है (उदाहरण के लिए 404 नहीं मिला या 500 सर्वर त्रुटि) तो यह jQuery के त्रुटि कार्यों को ट्रिगर करेगा। इसे कुछ तरीकों से संभाला जा सकता है, लेकिन एक अच्छा तरीका है कि एक div को दिखाए कि उपयोगकर्ता को पता है कि कोई त्रुटि हुई है।
एचटीएमएल
<div id="error" style="display: none">There was an error processing your last request</div>
jQuery
$(function(){
$("#error").ajaxError(function(){
var $error = $(this);
$error.slideDown(500, function(){
window.setTimeout(function(){
$error.slideUp(500);
}, 2000);
});
});
});
एक त्रुटि होती है, तो अपने "सफलता" तरीकों में से कोई भी सक्रिय होगा, और कहा कि div
नीचे स्लाइड, 2 सेकंड प्रतीक्षा करें, फिर बैक अप लें।
त्रुटियों
के लिए अपनी स्क्रिप्ट का परीक्षण जैसा कि मैंने उल्लेख किया है कि आप अपने सर्वर स्क्रिप्ट "त्रुटि" या "सफलता" या कुछ इसी तरह वापस ग्राहक के लिए भेज रहा है की तरह लगता है का वर्णन किया।
आप एक $.post
उपयोग कर रहे हैं, उदाहरण के लिए, अपने त्रुटि हैंडलिंग कोड इस प्रकार दिखाई देंगे:
$.post('/your/url', { save_me: true }, function(data){
if(data == "error"){
// handle error
} else {
// handle success
}
}
स्रोत
2010-01-08 22:30:43
बिल, यह सहायक लगता है, क्या आप मुझे एक विचार दे सकते हैं कि वास्तव में PHP स्क्रिप्ट क्या प्रतिबिंबित करेगी जो jquery को लेने की अनुमति देगी (मेरा मतलब है, मुझे लगता है कि यह "अमान्य लॉगिन" होगा, लेकिन क्या मैं उससे अधिक जानकारी भी गूंज सकता हूं?) –
+1 ग्रेट उत्तर बिल! मुझे लगता है कि 'सफलता' कॉलबैक में 'xhr' पैरामीटर नाम भ्रामक है क्योंकि यह केवल डेटा ही' xhr' ऑब्जेक्ट नहीं लौटाया गया है। –
डेव, आप जो कुछ भी वापस करना चाहते हैं उसे वापस कर सकते हैं, बस उस डेटा के बारे में जागरूक रहें जिसका आप उपयोग कर रहे हैं। इस उदाहरण की तरह साधारण सामान के लिए डिफ़ॉल्ट डेटा टाइप ठीक है, अधिक जटिल डेटा उपलब्ध अन्य डेटा प्रकारों को देखने के लिए। उदाहरण के लिए JSON डेटा का उपयोग करने के लिए, PHP कोड JSON डेटा भेजें। डेटा टाइप को सेट करने के तरीके को देखने के लिए $ AJAX के लिए jquery दस्तावेज़ों को देखें, JSON विधियों के लिए php दस्तावेज़ों को भी देखें। डौग, अच्छा बिंदु। – Bill