2013-05-14 8 views
20

क्या jQuery के $ .ajax फ़ंक्शन को timeout पर हिट करने का कोई तरीका है?AJAX टाइमआउट कॉलबैक फ़ंक्शन

अर्थात

$.ajax({ 
... 
... 
,timeout:1000(){do something if timeout) 
... 

}); 
+2

आप शायद क्या चाहते हैं: http://stackoverflow.com/questions/3543683/jquery-ajax-timeout

इसके अलावा, आप अब लौट आए JQuery टाल वादा वस्तु की .fail विधि के माध्यम से अपने त्रुटि संचालकों तार कर सकते हैं -सेटिंग – Eli

उत्तर

40
$.ajax({ 
    ... 
    timeout: 1000, 
    error: function(jqXHR, textStatus, errorThrown) { 
     if(textStatus==="timeout") { 
      //do something on timeout 
     } 
    } 
});​ 

अधिक जानकारी के लिए jQuery दस्तावेज़ीकरण देखें:

http://api.jquery.com/jQuery.ajax/


संपादित

यह एक साल से अधिक हो गया है क्योंकि मैंने शुरुआत में इसका जवाब दिया था और textStatus संभावित मान "success", "notmodified", "error", "timeout", "abort", या "parsererror" पर बदल गए हैं। त्रुटि कॉलबैक के लिए, केवल अंतिम चार स्थितियां संभव हैं।

var promise = $.ajax({ timeout: 1000 }); 

promise.fail(function(jqXHR, textStatus) { 
    if(textStatus==="timeout") { 
     // handle timeout 
    } 
}); 
+4

आमतौर पर, कोड के ब्लॉक को छोड़ने के बजाय, अच्छे उत्तरों को समझाया जाता है। – Daedalus

+13

@ डेडलस इस मामले में मैं कहूंगा कि कोड आत्म-व्याख्यात्मक है। – Paulpro

+1

@Paulpro मैं सहमत नहीं होगा। यह समझाया नहीं गया है कि त्रुटि फ़ंक्शन को पास किया गया है, एक स्ट्रिंग के अलावा जो कभी-कभी 'टाइमआउट' के बराबर होता है। – Daedalus

संबंधित मुद्दे