如何通过jQuery刷新页面并确保有连接?

时间:2010-05-06 21:59:00

标签: jquery refresh

我玩弄了.load()和.ajax(),但我没有结束。这就是我需要的: Everey分钟,该功能应检查是否可以加载某个页面。 如果连接成功,我希望页面刷新,如果没有,什么都不会发生,脚本将在稍后重试。

我正在使用jQueryTimers插件。到目前为止,这是我的代码:

//reload trigger
$(document).everyTime('60s', 'pagerefresh', reloadPage, 0, true);

//refresh function
function reloadPage() {
    $.ajax({
        url:'index-1.php',
        type:'HEAD',
        success: location.reload(true)
        })
}

我不知道如何告诉jQ我想要什么。任何提示赞赏。

2 个答案:

答案 0 :(得分:9)

通过撰写success: location.reload(),您立即致电reload,并将success参数设置为reload返回的任何内容(undefined

你需要使用一个匿名函数来调用reload作为success回调,如下所示:

    success: function() { location.reload(true); }

答案 1 :(得分:0)

感谢SLaks,jQuery重试现在重新加载。

然而,如果我从网络上拔下网线,它仍会清除屏幕并且不会触发错误。这是我的新尝试:

$.ajax({
        url:'index.php',
        type:'HEAD',
        success: function() { location.reload(true); },
        error: function() {$('DIV').append('<p>ERROR</p>');}
        })