【问题标题】:reload/update page javascript重新加载/更新页面 javascript
【发布时间】:2011-06-27 13:45:28
【问题描述】:

我认为我的问题实际上很简单,我认为答案隐藏在一些相关问题中。但我无法让我的代码工作,所以这是我的问题:

我需要读取一个非周期性偶然发生的文件,并对其中的数据做一些非常好的事情。到目前为止,我一直在“本地”执行此操作(此文件稍后将在服务器上)并且效果很好。只是为了测试数据是否被正确读取,文件上的更改是由我完成的,我只是在浏览器上按 F5 以获取“新页面”。这一切都很好!

问题是,我需要网页仅在文件更改时重新加载。所以我阅读了文件,检查是否 update!= lastupdate 重新加载页面。问题是,无论条件是真还是假,页面总是重新加载!不酷!这是我迄今为止所做的方法之一:

setInterval(function() {
    $.getJSON('object.json', function(data) {
        if ( data.update != lastUpdate ){                   
            lastUpdate = data.update;
            window.location.reload();
        }
    });
}, 2000);

此函数每 2 秒检查一次文件是否已更改,如果为真则重新加载页面。但它每 2 秒重新加载一次,而不是每次更改文件时......谁能告诉我我做错了什么?

感谢和问候, 朱尔斯

【问题讨论】:

    标签: reload setinterval


    【解决方案1】:

    您是否缺少右花括号?

           setInterval(function() {
                $.getJSON('object.json', function(data) {
                    if ( data.update != lastUpdate ){                   
                        lastUpdate = data.update;
                        window.location.reload();
                    }
                });
            }, 2000);
    

    【讨论】:

    • 感谢您的快速回答,但这不是问题所在:S 我刚刚删除了帖子上的一些 cmets 并带走了最后的东西 xD ...您还有其他想法吗? :)
    • 如果 window.location.reload();正在触发,则 data.update 不能等于 lastUpdate。将“data.update!= lastUpdate”替换为“1!= 1”,以向自己证明如果它们相同,页面将不会刷新,然后在 chrome / safari 中使用警报框或 javascript 控制台或在 firefox 中使用 firebug查看运行时 data.update 和 lastUpdate 的值。希望这会有所帮助。
    • 嗨,昨天没看到你的回答,抱歉。我解决了这个问题。每次页面重新加载时 lastUpdate 也会刷新,所以 lastUpdate = data.update 这行实际上是没用的!我尝试不重新加载页面,而是再次调用读取对象并实际处理数据的函数。这不起作用,因为页面以某种方式失去了它应该具有的所有交互。任何想法为什么?或者我可以在文件中写入 lastUpdate = update 然后读取这两个内容,如果更新更改,请再次写入 lastupdate = update ...?
    • 对不起,你现在失去了我。当页面加载时,将上次更新的值设置为文件中使用的值。如果您使用 AJAX 更新页面,请记住更新 lastUpdate 变量。这样无论页面是否刷新,lastUpdate 永远都是正确的。
    • 我读取了 json 文件并玩了一次。我有一个 setInterval 函数来读取同一个文件,并且只检查它是否被更改(通过读取“更新”)。如果是更改,我希望看到所做的更改。为此,我想到了重新加载页面 location.reload()。如何使用 AJAX 更新/重新加载页面?
    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 2013-10-31
    • 2012-06-15
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    相关资源
    最近更新 更多