जब मैं अपना सर्वर नीचे लाता हूं और उसे AJAX अनुरोध करता हूं, तो फ़ायरबग दिखाता है कि अनुरोध करने के बाद अनुरोध को कुछ सेकंड बाद निरस्त कर दिया गया है, और मेरा success
हैंडलर कॉल किया जाता है।
सफलता हैंडलर क्यों कॉल किया जाता है, क्या यह त्रुटि हैंडलर नहीं होना चाहिए? और मैं भरोसेमंद तरीके से कैसे पता लगा सकता हूं कि यह वास्तव में सफल नहीं था?
कोड:
$.ajax({
url: url,
type: "POST",
data: data,
dataType: "json",
success:function(data, statusText, xhr){
//gets called on success, or even when server is down.
},
error: function(){
//called if server returns error, but not if it doesn't respond
}
});
अद्यतन: यह व्यवहार केवल स्थानीय होस्ट पर है, यह तब होता है जब मेरे विकास सर्वर बंद करने की। मैंने यह देखने के लिए परीक्षण किया कि जब मैं उत्पादन सर्वर तक पहुंचने का प्रयास करता हूं, लेकिन मेरे व्यक्तिगत इंटरनेट को ऑफ़लाइन ले लिया जाता है, और यह केवल लटकता है, सफलता या त्रुटि को कॉल नहीं करता है। मान लीजिए मुझे उस मामले के लिए टाइमआउट संपत्ति निर्धारित करनी चाहिए।
सकारात्मक नहीं, लेकिन शायद 'abort' की प्रतिक्रिया' fail' तुलना में अलग है? क्या आप अपना कोड पोस्ट कर सकते हैं? – hookedonwinter
संभावित रूप से संबंधित: http://stackoverflow.com/questions/2357147/ajax-how-to-prevent-jquery-from-calling-the-success-event-after-executing-xmlhtt –
आप सर्वर को कैसे नीचे ले जाते हैं? क्या यह पूरी तरह से पहुंच योग्य नहीं है, या यह 404 पृष्ठों की सेवा करेगा? –