2011-01-18 19 views
11

जे एस कोड:डिबगिंग jQuery AJAX समारोह

$.ajax({ 


     type: 'POST', 
     url: 'http://localhost/MyServiceDir/Service.asmx/Foo', 
     contentType: 'application/json; charset=utf-8', 
     data: jsonData, 
     success: function (msg) { 
      alert("good"); 
     }, 
     error: function (xhr, status) { 
       switch (status) { 
       case 404: 
        alert('File not found'); 
        break; 
       case 500: 
        alert('Server error'); 
        break; 
       case 0: 
        alert('Request aborted'); 
        break; 
       default: 
        alert('Unknown error ' + status); 
      } 
     } 
    }); 

मैं "अज्ञात त्रुटि त्रुटि" मिलता है। मैं इसके निचले हिस्से में कैसे पहुंचूं? मैं जानना चाहता हूं कि वास्तव में त्रुटि क्या है। धन्यवाद!

उत्तर

8

"स्थिति" पैरामीटर केवल शामिल क्यों यह असफल - समय समाप्त, त्रुटि, आदि ... स्थिति कोड आप प्रतिक्रिया ऑब्जेक्ट जांच करने की आवश्यकता पाने के लिए: xhr.status

जानकारी के लिए http://www.w3.org/TR/XMLHttpRequest/#response देखें।

यदि आपको "500 आंतरिक सर्वर त्रुटि" मिल रही है तो है जो आप AJAX से प्राप्त करने जा रहे हैं। आपको अपना एप्लिकेशन या सर्वर लॉग देखना होगा। यह एक वाक्यविन्यास त्रुटि या पुस्तकालय त्रुटि या उन पंक्तियों के साथ कुछ और हो सकता है।

4

xhr.status देखें।

+0

डीबगिंग के लिए यह हमेशा मेरी पसंद का तरीका रहा है, यह 500 (सर्वर त्रुटि) देता है ... लेकिन क्या अधिक विशिष्ट विवरण प्राप्त करने का कोई तरीका है? या यह जानकारी के रूप में बहुत अधिक है क्योंकि मुझे $ AJAX से मिलेगा? – sarsnake

+0

@gnomixa: जो भी सर्वर भेजता है आप प्राप्त कर सकते हैं। 'Xhr.responseText' को देखें। – SLaks

+0

@gnomixa, देखें: http://www.w3.org/TR/XMLHttpRequest/#response –

3

onerror घटना में इस आजमाएं:

alert(xhr.statusText) 

संपादित करें:

मुझे लगता है कि अपने सबसे अच्छे यहाँ शर्त Firefox पर FireBug प्लग इन इंस्टॉल करना होगा। यह आपको AJAX कॉल देखने की अनुमति देगा (इसके लिए "कंसोल" टैब सक्षम करें), प्रतिक्रियाएं, और त्रुटि संदेश। उम्मीद है कि आप इस तरीके से आवश्यक जानकारी प्राप्त कर पाएंगे। एजेक्स कॉल

+0

धन्यवाद, लेकिन यह भी बहुत सामान्य है - "आंतरिक सर्वर त्रुटि"। मैं कुछ और जानकारीपूर्ण खोज रहा हूं जैसे कि "गलत तर्कों की गलत संख्या" ... सुनिश्चित नहीं है कि यह संभव है या नहीं। – sarsnake

+0

ऊपर मेरा जवाब संपादित किया गया ... फायरबग – stephen776

+0

फ़ायरबग स्थापित करने में आपकी मदद कर सकता है। यह वास्तव में मेरे एफएफ 8 पर स्थापित नहीं होगा – sarsnake