我使用以下函数从load()文件中获取信息。如果内容没有按预期加载,它是否会显示错误消息。这很好用,但我想在X秒后重新加载请求。我做到了这一点:
var tick = function() {
$('#fetch-1').hide();
$('#fetch-2').hide();
$('#fetch-3').hide();
$('#fetch-4').hide();
$('#fetch-5').hide();
$('#fetch-6').hide();
$('#fetch-1-error').show();
$('#fetch-2-error').show();
$('#fetch-3-error').show();
$('#fetch-4-error').show();
$('#fetch-5-error').show();
$('#fetch-6-error').show();
}
var loadTimeout = setTimeout(tick, 1000);
var tack = 1000;
$.ajax({
url: '/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>',
timeout: tack,
cache: false,
success: function(data) {
$('#fetch-tpb-filesize').load('/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>');
clearTimeout(loadTimeout);
},
error: function(data) {
setInterval(function() {
$('#fetch-1').show();
$('#fetch-1').load('/game/configs/required/jquery-fetch/fetch-1.php?i=<?php echo $row["id"]; ?>');
$('#fetch-1-error').hide();
}, 1000);
}
});
正如你所看到的那样,我试图让它重新加载,但它在第一次1秒后就不会停止。这里有谁知道如何解决问题?
答案 0 :(得分:2)
您在错误函数中使用setInterval
,它将每秒调用该代码块。
此外,您正在使用jQuery方法为您完成所有脏工作。如果你想使用timeout:tack,你需要再次使用$ .ajax。你为什么不把它作为一个函数再次调用它,而不是复制和粘贴代码,代码和代码到处。