2012-09-17 25 views
15

एक AJAX अनुरोध के भीतर त्रुटि कॉलबैक का परीक्षण कैसे किया जा सकता है? क्या नेटवर्क कनेक्शन त्रुटि अनुकरण करना संभव है?AJAX त्रुटि कॉलबैक का परीक्षण कैसे करें?

$.ajax({ 
     url: "myUrl",  
     type: 'post', 
     dataType : "json", 
     data : ({ 
      myJson 
     }), 
     success : function(jsonSaveResponse) { 

     }, 
     error: function (xhr) { 

    } 

    }); 
+0

क्या आप सादा AJAX लागू कर रहे हैं या यह jQuery का उपयोग कर रहा है? –

+0

xmlhttprequest ऑब्जेक्ट को झूठी यूआरएल (mydomain.com/thisurldoesntexist जैसे कुछ) –

+0

@KPBird कृपया फ़ीड संपादित करें, jQuery –

उत्तर

15

आप AJAX कॉल की URL विशेषता में केवल एक गलत URL डाल सकते हैं।

+0

का उपयोग करके मैं यह काम नहीं कर रहा हूं! मैंने url टाइप किया है: "asdjasfd.php" मेरे $ .ajax() फ़ंक्शन के अंदर! और मैंने त्रुटि \t सेट की है: फ़ंक्शन (jqXHR, टेक्स्टस्टैटस, त्रुटि ट्राउन) {अलर्ट (टेस्टस्टैटस); }, $ .ajax() फ़ंक्शन के अंदर! मुझे कोई जावास्क्रिप्ट अलर्ट नहीं दिख रहा है! –

+0

नेटवर्क पैनल में आप क्या देखते हैं? –

+0

कुछ भी नहीं ... मैं क्रोम का उपयोग करता हूं, और AJAX अनुरोध केवल निर्बाध रूप से चला जाता है .. मैंने सफलता के लिए एक चेतावनी भी जोड़ा है: फ़ंक्शन (डेटा, टेक्स्टस्टैटस, jQxhr)। यहां तक ​​कि यह चेतावनी मुझे नहीं मिला। सही यूआरएल के लिए, मुझे चेतावनी संदेश के रूप में सफलता मिलती है! –

3

मैं AJAX अनुरोध करने से पहले बस अपना सर्वर बंद कर देता हूं, जो सर्वर का जवाब नहीं दे रहा है।

याद रखें कि परिवर्तनों के लिए रीफ्रेश करने से पहले इसे वापस स्विच करने की आवश्यकता होगी।

1

आपको AJAX अनुरोध को रोकना है, और एक कस्टम प्रतिक्रिया वापस करना है जो त्रुटि कॉलबैक को ट्रिगर करेगा। आप जावास्क्रिप्ट परीक्षण ढांचे जैसे Jasmine के साथ आसानी से ऐसा कर सकते हैं।

1

यदि आपका URL एक PHP पेज है, तो आप कुछ इस तरह कर सकते हैं:

<?php 
    header("HTTP/1.0 404 Not Found"); 
    exit(); 
    //the rest of your code 

आप बस इसे बाहर टिप्पणी कर सकते हैं बाद में जब आप अपने त्रुटि समारोह का परीक्षण पूरा कर चुके हों।