为什么 Safari 中用 JS 重载页面后 POST 的数据丢失?

a.htm 中有个表单:

<form action="b.htm" method="post">
    ...
    <button type="submit">提交</button>
</form>

提交进入 b.htm 后,正常的刷新时都会出现「是否要离开当前页面」的提示;但是用 location.reload() 进行刷新后,Safari 中在之前页面传过来的数据会丢失,也就是说页面变成了 GET 请求。

请问这是为什么?以及如何去解决?

阅读 4.3k
1 个回答

1)post到服务器的数据是放在的请求的body体中,在url中是看不到的
2)你reload b页面,和你打开浏览器直接输入访问b页面的的url的效果是一样的
3)解决方法,参考用户登陆页面和登陆后显示页面的处理方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题