दिलचस्प पोस्ट
अतिप्रवाह स्क्रॉल के साथ टॉकी ऊंचाई कैसे सेट करें ऐरे प्लेसमेंट-न्यू को बफर में अनिर्दिष्ट ओवरहेड की आवश्यकता है? मैं एक एसक्यूएल कथन में यूजर-सप्लाई इनपुट कैसे जोड़ सकता हूं? यूनिक्स / लिनक्स आईपीसी की तुलना करना पायथन में कम से कम यूआरएल-सुरक्षित स्ट्रिंग में एक पूर्णांक कैसे परिवर्तित करें? कोण 2.1.0 मक्खी पर बच्चे के घटक बनाते हैं, गतिशील रूप से कैसे काम करता है RegexOptions.Compiled? स्टैक को संरेखित करने का क्या अर्थ है? वर्ड्यूअलाइजेशन तकनीक का समर्थन नहीं करने वाले हार्डवेयर पर एंड्रॉइड स्टूडियो MySQL से अलग PostgreSQL ग्रुप? कैसे MongoDB में एक फ़ील्ड चुनने के लिए? onKeyDown और onKeyLongPress सी / सी + + जांच अगर एक बिट सेट है, अर्थात चर चर एक म्यूटक्स क्या है? कोणीय / यूआई-राउटर – मैं यूआरएल को रीफ्रेशिंग सब कुछ के बिना कैसे अपडेट कर सकता हूं?

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

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

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

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

वेब के समाधान से एकत्रित समाधान "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(); }); 

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