有没有可能使用javascript:location.reload(true)作为表单的action=,而不让浏览器提示“为了重新加载此页面,必须重新发送信息”或类似的内容?表单操作当前正由onsubmit=处理。
发布于 2009-11-18 02:35:06
看起来您正在使用onsubmit事件中的AJAX请求来处理表单,这就回避了一个问题:如果无论如何都要刷新页面,为什么不会获得任何好处。我建议要么使用表单中的普通post,要么使用@Bob的解决方案(他通过先发布来节省我的输入)。如果你使用window.location=window.location,请确保在onsubmit方法中发生的任何事情完成之后调用它,或者你可能会引入一个竞争条件,在onsubmit方法完成发送数据之前它会重定向。
编辑:
只需阅读您的评论,提供了更多信息。同样,为了响应AJAX提交而重新加载整个页面完全违背了使用AJAX的目的。你真的应该考虑使用像jQuery这样的Javascript库来帮助你做到这一点。基本上,模式如下:
发布于 2009-11-18 02:31:56
如果用户来自POSTing data,重新加载将始终询问有关重新发送的信息的问题。很难回答任何具体的问题,因为我不知道你想做什么。这是浏览器历史中无法避免的事情。
更好的解决方案是使用PRG模式。
http://en.wikipedia.org/wiki/Post/Redirect/Get
发布于 2009-11-18 02:33:20
如果只想在不提交表单的情况下重新加载页面,请尝试使用window.location=window.location;
https://stackoverflow.com/questions/1750822
复制相似问题