2011-12-14 20 views
7

में HTTP त्रुटि प्रतिक्रिया कोड कैसे प्राप्त हो सकता है मेरे पास सर्वर पर अनुरोध भेजने के लिए एक रैपर फ़ंक्शन होता है, यदि सर्वर 401 का कोड देता है तो मुझे कुछ विशिष्ट करने की आवश्यकता है और मुझे यकीन नहीं है कि कैसे प्राप्त करें इस डेटामुझे Jquery POST

$.mobile.showPageLoadingMsg();  
$.post(apiUrl+method,p,function(d) { 

    $.mobile.hidePageLoadingMsg(); 
    console.log(d.success); 
    console.log(d.message); 

    if(d.success == true){ 
     window[callback](d.data); 
    } 
    else{ 
     if(d.message != null){ 
      alert(d.message); 
     } 
    } 
},'json') 
.error(function() { 
    //need to check for 401 status here to do something 
    $.mobile.hidePageLoadingMsg(); 
    alert("error"); 
}); 

मेरे सर्वर साइड कोड एक 401 अपवाद jQuery .त्रुटि समारोह इस ऊपर उठाता है फेंकता है तो बस इसके ठीक नहीं 200 क्योंकि लेकिन मैं अगर अपने एक 401 कोड की जांच करने की जरूरत है।

+0

=== नहीं ==, बुद्धिमान की तरह! ==! = :) – Sam

उत्तर

11

error कॉलबैक में, xhr.status देखें जहां xhr फ़ंक्शन के लिए पहला तर्क है। "वादा" विधि पर

0

अद्यतन: jQuery 1.5 के रूप में हम .fail() वादा फोन और इस तरह स्थिति कोड प्राप्त कर सकते हैं:()

$.post("example.php", function() { 
    alert("success"); 
}).fail(function(xhr) { 
    console.log(xhr.status); 
}); 

ध्यान दें कि .त्रुटि वादा हटा दिया है jQuery 3.0