如何在Javascript中没有POSTDATA警告的情况下定时刷新/重新加载页面?

时间:2018-03-10 05:05:21

标签: javascript refresh reload postdata

我目前正在使用

刷新我的页面
<script>function timedRefresh(timeoutPeriod){setTimeout('location.reload(true);',timeoutPeriod);}window.onload = timedRefresh(30000);</script>

但是我收到了POSTDATA警告,因为它想要重新发送以前的POST数据表单。我不关心帖子数据是否重新发送。这个网站并不重要。我只想要一些刷新页面的方法,而不会弹出POSTDATA警告。

2 个答案:

答案 0 :(得分:1)

最好的方法是使用PRG pattern,它可以防止重复的表单提交。但是如果你仍然需要一种肮脏的方式(不推荐),你可以使用浏览器localStorage来维护一个标志。

timedRefresh(timeoutPeriod) { 
     localStorage.setItem('doResubmit', False);
     setTimeout(function () {window.location.reload(true);},timeoutPeriod);
}

然后,使用localStorage.getItem('doResubmit');检查是否应该将请求发送到服务器。

让我知道它是否有帮助!

答案 1 :(得分:1)

location.reload(true);将调度刷新页面,就好像用户单击了刷新按钮或使用了快捷方式一样。通过将URL分配给位置,即使它是相同的,它也会让浏览器请求它,就像用户在浏览器的位置栏中键入并按下回车键一样

window.onload = function () {
    setTimeout(function () {
        //assigning the same url to the location to refresh
        location.href = location.href;
    }, 30000);
};

这是Location API MDN documentation