मैं क्रोम में परीक्षण, ऐप इंजन ऐप के लिए कुछ GET अनुरोध कर रहा हूं। जब तक मैं जावास्क्रिप्ट कंसोल में देख सकता हूं कि कुछ कॉल 500 सर्वर त्रुटि में परिणाम देती हैं, तो मुझे लगता है कि इस तरह की त्रुटि को मेरे jQuery कोड में कैप्चर करने के बावजूद कई समान एसओ धागे पढ़ने के बावजूद नहीं मिल रहा है। मैं समझता हूं कि यह एक सर्वर साइड त्रुटि इंगित करता है, लेकिन मैं अभी भी अपने जावास्क्रिप्ट से ऐसी त्रुटि को कैप्चर करने में सक्षम होना चाहता हूं।jquery AJAX 500 स्थिति त्रुटि को अनदेखा करता है
मुझे त्रुटि को कैप्चर करने की आवश्यकता है ताकि मैं प्रतिक्रियाओं की संख्या (सफल या अन्यथा) की गणना कर सकूं और सभी कॉल प्रतिक्रिया प्राप्त होने पर एक और फ़ंक्शन ट्रिगर कर सकूं।
क्रोम कंसोल आउटपुट:
GET http://myapp.com/api?callback=jQuery12345¶ms=restOfParams 500 (Internal Server Error)
मेरे कॉल:
statusCode: {500: function() {alert('err');}}
कॉल करने के लिए
: जोड़ना
:
function makeCall() {
var count = 0;
var alldata = $('#inputset').val();
var rows = alldata.split('\n');
var countmatch = rows.length;
for (i=0;i<rows.length;i++) {
data["param"] = rows[i]["val"];
$.ajax({
url: apiUrl,
type: 'GET',
data: data,
dataType: 'jsonp',
error: function(){
alert('Error loading document');
count +=1;
},
success: function(responseJson) {
count +=1;
var res = responseJson.results;
if (count == countmatch) {
allDoneCallback(res);
}
},
});
}
}
मैं निम्न में से कुछ की कोशिश की है।
का उपयोग करना:
$().ready(function(){
$.ajaxSetup({
error:function(x,e) {
if(x.status==500) {
alert('Internel Server Error.');
}
}
});
});
किसी को कैसे मैं 500 प्रतिक्रिया पकड़ सकते थे के बारे में एक सुझाव है चाहेंगे?
धन्यवाद ओली
अद्यतन:
प्रतिक्रियाओं के आधार पर, मेरी jQuery कोड सही प्रतीत होता है, लेकिन कुछ कारणों से यह केवल मेरे ऐप्स से प्राप्त कुछ 500 प्रतिक्रियाओं को पकड़ने होगा। यह संभावित रूप से एक समस्या है कि ऐप इंजन त्रुटि कैसे देता है (मुझे इसके बारे में बहुत कुछ पता नहीं है), या jquery jsonp के साथ त्रुटियों को कैसे संभालता है - इस बिंदु पर this आलेख के अंतिम अनुच्छेद में संक्षेप में चर्चा की गई है।
मुझे यह jquery-isonp का उपयोग करके काम करने के लिए मिला, जिसने ऐप द्वारा फेंक दी गई सभी 500 स्थिति को पकड़ा।
क्या यह 'स्थिति' के बजाय 'स्थिति कोड' नहीं होना चाहिए? –