如何在不重新发送 POST 数据的情况下刷新和重新加载页面?
我已经尝试过location.reload()
在 Chrome 上工作得非常好(这是开发时的测试环境)。但是 IE 和 Firefox 在 JS 中进入了无限循环——重新发布大量垃圾/重复数据。
注意:但是,我只想刷新页面以清除所有表单内容。我还在提交后注册了一个启动脚本,它将显示数据已成功添加的警报消息。
帮助!
如何在不重新发送 POST 数据的情况下刷新和重新加载页面?
我已经尝试过location.reload()
在 Chrome 上工作得非常好(这是开发时的测试环境)。但是 IE 和 Firefox 在 JS 中进入了无限循环——重新发布大量垃圾/重复数据。
注意:但是,我只想刷新页面以清除所有表单内容。我还在提交后注册了一个启动脚本,它将显示数据已成功添加的警报消息。
帮助!
尝试这个:
window.location.href = window.location.href;
location.href = location.href + '?' + Math.random();
这应该有效。
在您的代码中添加:
Response.Redirect(Request.RawUrl)
如果您只想清除表单,为什么不:
<input type="reset" value="Clear Fields">
你也可以使用:
document.getElementById('<%=form1.ClientID%>').reset();
除非您还需要做其他事情,否则重新加载页面似乎是一种浪费。
以下将解决您的问题:
Server.Transfer(Request.RawUrl);
添加以下内容:
Server.Transfer(Request.RawUrl);
我也尝试过重新加载,并且 reload(true) 都没有完全按照我的意愿做。
我已经看到位置对象有其他方法(而不是重新加载),因为我想在“get”中请求页面,我刚刚做了:
location.assign(window.location);
到目前为止似乎正在做我想做的事,重新加载同一页面而不再次提交值。我的用例是会话过期时对服务器的 ajax 调用。我显示一条错误消息,指出会话丢失,然后我希望重新加载页面。
使用location.reload(true)
. 这个“硬”重新加载页面..
简单的方法:
history.replaceState(null, document.title, location.href)