दिलचस्प पोस्ट
जार के भीतर कक्षापथ संसाधन सीएसएस छद्म वर्ग या कुछ इसी तरह का स्पर्श करें? JSF में घटक बाध्यकारी क्या है? जब इसे इस्तेमाल किया जाना पसंद है? सबप्रोसेस Popen और कॉल (मैं उन्हें कैसे उपयोग कर सकते हैं) के बीच अंतर क्या है? चेतावनी: अलग-अलग दृश्य नियंत्रकों पर दृश्य नियंत्रक को दर्शाता है निराश Google मानचित्र जावास्क्रिप्ट एपीआई v3 मैप लेबल और बहुभुज क्यों 'eval' एक बुरा अभ्यास का उपयोग कर रहा है? जावास्क्रिप्ट में पसंद किए गए फ़ंक्शंस या अनाम फ़ंक्शन का नाम दिया गया है? जहां तर्क जोड़ने के लिए एमवीसी (लायरवेल) डोज़क और क्लोज़ोर में अंतर सी ++ 11 में धागा_लोक का क्या अर्थ है? माउसओवर टूलटिप वाला मल्टीर्सरीज़ लाइन चार्ट तिथि सीमाओं की तुलना करना रिलेटिव लेआउट, एंड्रॉइड में परिपत्र निर्भरता मौजूद नहीं हो सकती? पन्नों में स्टोर के उपयोग और सत्र चर का उपयोग कैसे करें?

JQuery- setTimeout या अन्य विधि के साथ स्वत: ताज़ा div?

आप जावास्क्रिप्ट (विशेष रूप से, jQuery) के साथ एक ऑटो-रीफ्रेशिंग div कैसे करते हैं?

मैं setTimeout विधि के बारे में जानता हूँ, लेकिन क्या यह वास्तव में एक अच्छा अभ्यास है? क्या कोई बेहतर तरीका है?

 function update() { $.get("response.php", function(data) { $("#some_div").html(data); }); window.setTimeout("update();", 10000); } 

Solutions Collecting From Web of "JQuery- setTimeout या अन्य विधि के साथ स्वत: ताज़ा div?"

एक और संशोधन:

 function update() { $.get("response.php", function(data) { $("#some_div").html(data); window.setTimeout(update, 10000); }); } 

इस के साथ अंतर यह है कि एजेक्स कॉल के बाद यह एक 10 सेकेंड की प्रतीक्षा करता है। तो वास्तव में रिफ्रेश के बीच का समय 10 सेकेंड + एजेक्स कॉल की लंबाई है। इसका लाभ यह है कि यदि आपका सर्वर 10 सेकंड से अधिक समय का जवाब देता है, तो आपको दो (और आखिरकार, कई) एक साथ AJAX कॉल हो रहे हैं

इसके अलावा, अगर सर्वर का जवाब देने में विफल रहता है, तो यह कोशिश नहीं करेगा

मैंने अतीत में एक समान विधि का उपयोग किया है जो एजाक्स का उपयोग और भी जटिल व्यवहार को संभालने के लिए किया है:

 function update() { $("#notice_div").html('Loading..'); $.ajax({ type: 'GET', url: 'response.php', timeout: 2000, success: function(data) { $("#some_div").html(data); $("#notice_div").html(''); window.setTimeout(update, 10000); }, error: function (XMLHttpRequest, textStatus, errorThrown) { $("#notice_div").html('Timeout contacting server..'); window.setTimeout(update, 60000); } } 

यह लोड करते समय एक लोडिंग संदेश दिखाता है (सामान्य "वेब 2.0" शैली के लिए एक एनिमेटेड जीआईएफ डाल दिया गया है) अगर सर्वर बार (इस मामले में 2 एस से अधिक समय लगता है) या कोई अन्य प्रकार की त्रुटि होती है, तो यह एक त्रुटि दिखाती है, और यह सर्वर से संपर्क करने से पहले 60 सेकंड के लिए प्रतीक्षा करता है।

यह विशेष रूप से फायदेमंद हो सकता है जब बड़ी संख्या में उपयोगकर्ताओं के साथ तेजी से अद्यतन करते हैं, जहां आप नहीं चाहते कि हर किसी को अचानक एक ठोकर खाई सर्वर के अनुरोधों के साथ अपंग कर दें जो सभी बस वैसे भी समय समाप्त हो रहे हैं।

 $(document).ready(function() { $.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh setInterval(function() { $('#notice_div').load('response.php'); }, 3000); // the "3000" }); 

एक jQuery टाइमर प्लगइन है जिसे आप कोशिश कर सकते हैं

 function update() { $("#notice_div").html('Loading..'); $.ajax({ type: 'GET', url: 'jbede.php', timeout: 2000, success: function(data) { $("#some_div").html(data); $("#notice_div").html(''); window.setTimeout(update, 10000); }, error: function (XMLHttpRequest, textStatus, errorThrown) { $("#notice_div").html('Timeout contacting server..'); window.setTimeout(update, 60000); } }); } $(document).ready(function() { update(); }); 

यह बेहतर कोड है