我使用以下函数通过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);
}
});正如你在error中看到的,我试图让它重新加载,但它没有像第一次那样在1秒后停止。在座有人知道如何解决这个问题吗?
发布于 2011-07-20 01:22:52
您在error函数中使用了setInterval,该函数将每秒调用该代码块。
此外,您还使用了一个jQuery方法,它可以为您完成所有繁琐的工作。如果你想使用timeout: tack,你需要再次使用$.ajax。为什么不把它变成一个函数,然后再次调用它,而不是复制和粘贴代码,到处都是代码和代码。
https://stackoverflow.com/questions/6751237
复制相似问题