首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX:在X秒后出错时重新加载load()

AJAX:在X秒后出错时重新加载load()
EN

Stack Overflow用户
提问于 2011-07-20 01:17:40
回答 1查看 477关注 0票数 0

我使用以下函数通过load()从文件中获取信息。如果内容没有正常加载,是否会显示一条错误消息。这可以很好地工作,但是我想在X秒后重新加载请求。到目前为止,我已经完成了以下工作:

代码语言:javascript
复制
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秒后停止。在座有人知道如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2011-07-20 01:22:52

您在error函数中使用了setInterval,该函数将每秒调用该代码块。

此外,您还使用了一个jQuery方法,它可以为您完成所有繁琐的工作。如果你想使用timeout: tack,你需要再次使用$.ajax。为什么不把它变成一个函数,然后再次调用它,而不是复制和粘贴代码,到处都是代码和代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6751237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档