8

如何在不重新发送 POST 数据的情况下刷新和重新加载页面?

我已经尝试过location.reload()在 Chrome 上工作得非常好(这是开发时的测试环境)。但是 IE 和 Firefox 在 JS 中进入了无限循环——重新发布大量垃圾/重复数据。

注意:但是,我只想刷新页面以清除所有表单内容。我还在提交后注册了一个启动脚本,它将显示数据已成功添加的警报消息。

帮助!

4

9 回答 9

14

尝试这个:

window.location.href = window.location.href;
于 2012-12-21T07:56:00.520 回答
6
location.href = location.href + '?' + Math.random();

这应该有效。

于 2012-12-21T07:55:20.380 回答
5

在您的代码中添加:

Response.Redirect(Request.RawUrl)
于 2012-12-21T07:57:03.073 回答
2

如果您只想清除表单,为什么不:

<input type="reset" value="Clear Fields">

你也可以使用:

document.getElementById('<%=form1.ClientID%>').reset();

除非您还需要做其他事情,否则重新加载页面似乎是一种浪费。

于 2012-12-21T07:57:07.723 回答
2

以下将解决您的问题:

Server.Transfer(Request.RawUrl);
于 2013-05-04T19:33:12.913 回答
2

添加以下内容:

Server.Transfer(Request.RawUrl);

于 2013-05-04T19:22:15.570 回答
0

我也尝试过重新加载,并且 reload(true) 都没有完全按照我的意愿做。

我已经看到位置对象有其他方法(而不是重新加载),因为我想在“get”中请求页面,我刚刚做了:

location.assign(window.location); 

到目前为止似乎正在做我想做的事,重新加载同一页面而不再次提交值。我的用例是会话过期时对服务器的 ajax 调用。我显示一条错误消息,指出会话丢失,然后我希望重新加载页面。

于 2015-02-10T20:37:09.350 回答
0

使用location.reload(true). 这个“硬”重新加载页面..

于 2013-05-04T19:52:43.870 回答
0

简单的方法:

history.replaceState(null, document.title, location.href)
于 2018-05-29T08:22:09.583 回答