首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript重新加载

javascript重新加载
EN

Stack Overflow用户
提问于 2009-11-18 02:28:23
回答 3查看 1.6K关注 0票数 1

有没有可能使用javascript:location.reload(true)作为表单的action=,而不让浏览器提示“为了重新加载此页面,必须重新发送信息”或类似的内容?表单操作当前正由onsubmit=处理。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-18 02:35:06

看起来您正在使用onsubmit事件中的AJAX请求来处理表单,这就回避了一个问题:如果无论如何都要刷新页面,为什么不会获得任何好处。我建议要么使用表单中的普通post,要么使用@Bob的解决方案(他通过先发布来节省我的输入)。如果你使用window.location=window.location,请确保在onsubmit方法中发生的任何事情完成之后调用它,或者你可能会引入一个竞争条件,在onsubmit方法完成发送数据之前它会重定向。

编辑:

只需阅读您的评论,提供了更多信息。同样,为了响应AJAX提交而重新加载整个页面完全违背了使用AJAX的目的。你真的应该考虑使用像jQuery这样的Javascript库来帮助你做到这一点。基本上,模式如下:

  1. 使用AJAX
  2. 处理提交当请求完成时,使用AJAX
  3. 仅请求页面的已更改部分替换或附加页面上的内容,并使用对第二个AJAX调用的响应
  4. 清空表单,以便可以再次填写
票数 0
EN

Stack Overflow用户

发布于 2009-11-18 02:31:56

如果用户来自POSTing data,重新加载将始终询问有关重新发送的信息的问题。很难回答任何具体的问题,因为我不知道你想做什么。这是浏览器历史中无法避免的事情。

更好的解决方案是使用PRG模式。

http://en.wikipedia.org/wiki/Post/Redirect/Get

票数 1
EN

Stack Overflow用户

发布于 2009-11-18 02:33:20

如果只想在不提交表单的情况下重新加载页面,请尝试使用window.location=window.location;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1750822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档