कॉल मैं डेटा एक तालिका में मौजूद रहने पर जाँच करने के लिए setTimeout का उपयोग करने के लिए कोशिश कर रहा हूँ: डेटा मौजूदअजाक्स के साथ setTimeout का उपयोग कर
तो डेटा लाने नहीं है। यदि डेटा मौजूद नहीं है तो लोड का उपयोग कर डेटा प्राप्त करें और फिर प्रत्येक एक्स मिनट में एक ही चीज़ करें।
यहां तक कि मेरे पास अब तक है। किसी कारण से, setTimeout
काम नहीं करता है जब यह ब्लॉक ब्लॉक करता है।
मुझे यह भी सुनिश्चित नहीं है कि यह करने का यह सबसे अच्छा तरीका है या नहीं।
var sTimeOut = setTimeout(function() {
$.ajax({
url: 'CheckIfDataExists/' +
new Date().getTime(),
success: function (response) {
if (response == 'True') {
$('.DataDiv')
.load('GetFreshData/' + new Date()
.getTime(), { "Id": $("#RowID").val() });
}
},
complete: function() {
clearTimeout(sTimeOut);
}
});
}, 10000);
किसी भी मदद की सराहना की जाएगी।
अपडेट किया गया ...
setTimeout(function(){checkData()}, 5000);
function checkData(){
$.ajax({
url: 'CheckIfDataExists/' +
new Date().getTime(),
success: function (response) {
if (response == 'True') {
$('.DataDiv')
.load('GetFreshData/' + new Date()
.getTime(), { "Id": $("#RowID").val() });
} else {
$('.OutOfWindow').html('No Data Found');
setTimeout(function() { checkData() }, 5000);
}
},
complete: function() {
// clearTimeout(sTimeOut);
}
});
}
आप [अपने डिबगर चेक किया गया] है (http://blog.niftysnippets.org /2011/03/no-excuse.html) यह देखने के लिए कि क्या गलत है? जेएस पूरी तरह से ठीक लगता है: http://jsfiddle.net/FgT22/ – gideon
हां। यह ठीक काम कर रहा है। यह तब तक काम करता है जब डेटाबेस में कोई डेटा नहीं होता है (वह तब होता है जब प्रतिक्रिया सत्य होती है)। जब यह गलत होता है, तो मैं x मिनट के बाद पुनः जांच करना चाहता हूं। यही वह जगह है जहां मुद्दा लगता है। यह पुनः जांच नहीं करता है। सफलता पर टाइमआउट को समाशोधन करने की मेरी आइडिया इसलिए है कि पिछला लोड पूरा होने से पहले अगली जांच को निकाल दिया जाना चाहिए – mkizito76
यह मेरे पास अब है और ऐसा लगता है। क्या यह करने का यह सबसे अच्छा तरीका है? वैसे, – mkizito76