繁体   English   中英

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

[英]How do I do a timed refresh/reload of a page without a POSTDATA warning in Javascript?

我目前正在刷新我的页面

<script>function timedRefresh(timeoutPeriod){setTimeout('location.reload(true);',timeoutPeriod);}window.onload = timedRefresh(30000);</script>

但是我收到POSTDATA警告,因为它想重新发送以前的POST数据形式。 我不在乎帖子数据是否重发。 这对于该站点并不重要。 我只想要某种方式刷新页面而不会弹出POSTDATA警告。

最好的方法是使用PRG模式 ,它可以防止重复提交表单。 但是,如果仍然需要一种肮脏的方式(不建议这样做),则可以使用浏览器localStorage来维护标志。

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

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

让我知道是否有帮助!

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

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

这是Location API MDN文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM