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