我在弹出窗口中有一个表单。用户填写详细信息并提交表单。在表单提交时,弹出窗口关闭,用户重定向到主页。提交时,主屏幕上会显示一条消息(表单提交是否成功)。这是通过在主页上添加一个参数来完成的。在刷新页面时更改获取URL参数
当用户打开网站时,网址将是..../home
。用户点击弹出按钮并提交表单。
成功时,该URL将被重定向到..../home?error=0
失败时,URL将被重定向到..../home?error=1
基于错误标志值,我在首页上显示的消息。
完成此步骤后,如果用户刷新主页,他仍然会收到表单提交消息,因为错误标记存在于url中。但刷新后,我不想在主页上显示消息。
所以,我试图删除/设置页面刷新错误标志使用下面的代码。
> $(window).unload(function() {
> var currentURL = window.location.href;
> var index = currentURL.indexOf("?error=");
> if(index > -1) {
> window.location.href = currentURL.substring(0, index);
> } });
它适用于Firefox,但不适用于Chrome。未在其他浏览器中测试过。但jQuery卸载在1.8中已被弃用。
如何删除/设置页面刷新错误标志?还是有其他方法可以在页面刷新后不在主页上显示消息。该解决方案应工作在所有主要浏览器(IE,Chrome浏览器,火狐歌剧,Safari)。
注:这是Change the URL on page refresh
感谢您的帮助的延续!
这是行不通的,因为当用户按下F5 Chrome会建议重新发送POST数据。您不能在不使用重定向的情况下在服务器端取消设置POST数据。 – dmikam 2014-09-30 07:49:09
是的你可以,只需设置$ _POST ['error'] =“”例如 – 2014-09-30 07:50:54
这将取消设置当前进程的POST变量,但是如果浏览器窗口刷新 - 浏览器将发回相同的数据。 – dmikam 2014-09-30 07:52:18