页面 post 之后后退,怎么能够后退回之前的一个页面,而不是 post 的页面(不用 ajax)?

2015-10-29 16:33:16 +08:00
 fy
看起来有点绕,我举个例子:
你在某论坛里先进入一个板块,然后点进一个帖子进行回复,回复完成了之后按后退,这个时候你在哪里?

可能很多人觉得应该回到板块页面,但是事实上并不会这样。

比如我用 Tornado ,这时候处理完 post 请求,一般来讲是 redirect 到 referer ,然而此时按后退,还会停留在这个页面!

(其实 V2EX 也是如此,你从节点点一个帖子进去回复,然后按后退就明白了)

那么问题就是,如果不使用 ajax 的话,这事有办法解决吗?
3946 次点击
所在节点    Python
3 条回复
domty
2015-10-29 17:09:17 +08:00
以我的实际经验来说我不建议你进行后退,可以考虑重定向到一个指定的页面。
原因就在于后退的时候浏览器(我都是用 chrome 做调试,其他浏览器是否这样我也不清楚)不会走请求而是走浏览器的缓存,这就会导致页面一部分数据无法和数据库实际的数据是不同步的。
domty
2015-10-29 17:12:17 +08:00
V2EX 应该是给 url 一个新的锚点链接了。
比如我 post 请求的时候 url 的参数是{url}#reploy1
post 之后重定向的新页面的 url 就是{url}#reploy2
你后退回到的链接还是 {url}#reploy1
fy
2015-10-29 17:17:43 +08:00
@domty 好像是有办法进行魔改的。 DZ 似乎就可以回复后按后退跳回去。

我觉得用户可能有时候会困惑吧,这样给人的感觉并不太好。当然我个人的习惯是帖子开新标签,回复完一般来说就直接关闭了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX