çağırır. Veriler mevcut değilse, verileri yükü kullanarak getirin ve ardından her x dakikada bir aynı şeyi yapın.kullanarak setTimeout Veri bir tablo var olup olmadığını kontrol etmek için setTimeout kullanmaya çalışıyorum
Şimdiye dek sahip olduğum şeyler. Bazı nedenlerden dolayı, setTimeout
, bloğa isabet ettiğinde çalışmaz.
Bunun en iyi yolu olup olmadığından emin bile değilim.
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);
Herhangi bir yardım büyük takdir edilecektir.
Güncelleme
... böylesetTimeout(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);
}
});
}
Eğer ([senin ayıklayıcısını kontrol] ettiniz http://blog.niftysnippets.org /2011/03/no-excuse.html) neyin yanlış olduğunu görmek için? JS mükemmel görünüyor: http://jsfiddle.net/FgT22/ – gideon
Evet. İyi çalışıyor. Veritabanında hiçbir veri olmadığında beklendiği gibi çalışır (yanıt doğru olduğunda). Yanlış olduğunda, x dakika sonra tekrar kontrol etmek istiyorum. Meselenin olduğu yer burası. Tekrar kontrol etmez. Başarı zaman aşımını temizlemekten sorumlu olduğum için, bir önceki kontrol tamamlanmadan önce bir sonraki kontrolün işlenmemesi gerekiyor. – mkizito76
Bu benim şimdi sahip olduğum ve işe yarayacak gibi görünüyor. Bunu yapmanın en iyi yolu bu mu? Bu arada, yardım için teşekkürler. – mkizito76