2012-06-12 5 views
5

मेरे पास एक jQuery स्क्रिप्ट है जो मेरे सर्वर को नए डेटा के लिए चुनाव करती है, लेकिन किसी भी कारण से विफल होने पर इसे एक त्रुटि संदेश प्रदर्शित करने की आवश्यकता होती है।jQuery/AJAX: एक होस्ट ऑफ़लाइन होने पर निर्धारित करने के लिए कैसे करें

$.ajax({ 
    url: "query.php", // This just runs some MySQL queries and echos the results 
    cache: false, 
    error: function() { 
     $(".status").text("Server is offline."); 
     }, 
    success: function(html) { 
     // Everything went fine, append query results to div 
     } 
}); 

मैंने पाया है कि अगर query.php नाम बदलने तो यह तक नहीं पहुंचा जा, त्रुटि समारोह चलाता है और संदेश प्रदर्शित होता है:

यहाँ मेरी AJAX अनुरोध है। हालांकि, अगर मैं वेब सर्वर ऑफ़लाइन लेता हूं तो त्रुटि फ़ंक्शन ट्रिगर नहीं होता है।

होस्ट को पहुंचने योग्य नहीं होने पर यह पता लगाने के लिए मैं अपना कोड कैसे अनुकूलित कर सकता हूं?

उत्तर

2

आपको कम टाइमआउट सेट करना चाहिए, और ध्यान देने योग्य बात यह है कि सफलता अभी भी कॉल की जाएगी ताकि आपको यह जांचना पड़े कि क्या आपके पास उस समय कोई डेटा है या नहीं, यह जानने के लिए कि क्या यह समय समाप्त हो गया है या नहीं।

.ajax({ 
    url: "query.php", // This just runs some MySQL queries and echos the results 
    cache: false, 
    timeout: 4000, // 4 seconds 
    error: function() { 
     $(".status").text("Unable to retrieve data."); 
     }, 
    success: function(html) { 
     if (html) { 
      // Everything went fine, append query results to div 
     } 
     else { 
      $(".status").text("Server is offline."); 
     } 
}); 
+0

यह काम किया! झूठी सकारात्मक को रोकने के लिए, जब कोई परिणाम नहीं होता है तो पकड़ने के लिए jQuery के लिए एक विशेष कथन को प्रतिबिंबित करने के लिए मैं query.php को समायोजित करता हूं। – ssh2ksh

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