Zor*_*zyd 8 javascript session browser-refresh
我想创建一个按钮来重新加载页面而不会丢失$_POST数据$_SESSION.
在网络上,我发现了这段代码:
onclick="document.location.reload();"
Run Code Online (Sandbox Code Playgroud)
这是我的按钮的代码:
<a class="button" href="" style="font-size: 0.7em; padding: 5px 10px;" onclick="document.location.reload();">Recharger la page</a>
Run Code Online (Sandbox Code Playgroud)
但是当我点击按钮时,我会丢失$_POST数据$_SESSION.
如果我尝试使用键盘命令Ctrl + R(Chrome)或F5(Firefox,IE9),浏览器会显示警告,通知我我再次尝试提交表单.如果我接受,它就有效.
如何使用JavaScript命令重现这种浏览器刷新?或者我的按钮代码错了?
非常感谢您的帮助.
尝试使用
location.reload(true);
Run Code Online (Sandbox Code Playgroud)
这将执行"硬"刷新,不仅重建DOM,还重新从服务器检索任何资源.
您可以在Mozilla Developer wiki上阅读更多内容.
显然,location.reload()相当于F5脚本,而Ctrl+F5/ Ctrl+R可以使用location.reload(true).
另外,正如ThiefMaster所提到的,你在语句;return false结束时遗漏了onclick,或者你应该设置href为javascript:void 0*以防止浏览器跟踪链接.
*或任何其他返回的JavaScript undefined
只要您位于发布到的同一位置,在任何情况下都应该发生这种情况。但是,通常会在 POST 请求后进行重定向,以避免您想要执行的操作。
您的代码不起作用的原因是它href=""会导致对当前 URL 的 GET 请求。用于href="#"防止它加载“新”页面或添加到代码return false;末尾onclick="..."。