为什么大多数论坛在用户登录之后都跳出来一个 "您已经成功登录, 请等待自动跳转", 或者想要快点还得自己点一下跳转. 请问这个提示登录成功的页面有什么用?

2013-07-17 14:11:41 +08:00
 hexor
4021 次点击
所在节点    问与答
10 条回复
davepkxxx
2013-07-17 14:17:11 +08:00
因为那些论坛用的都是历史很长的那些论坛模板,早期的论坛都这样,这些模板更新到现在也不会刻意去改这种用户体验。至于作用就是告诉你登陆成功了而已→_→
binux
2013-07-17 14:23:22 +08:00
因为首页可能会打开很慢,如果直接跳首页,有人会手贱再点一次登陆
justfindu
2013-07-17 14:34:15 +08:00
就是告诉你已经登陆了- - 仅此而已
icoder
2013-07-17 14:48:57 +08:00
可能需要在这个页面写入cookie
julyclyde
2013-07-17 16:57:26 +08:00
如果直接到首页的话,你刷新首页会导致重新登录
而中间页一般不会被用户刷的
dorentus
2013-07-17 17:03:41 +08:00
@julyclyde 这个就是实现的问题了。

现在正常的实现是(假如不用 AJAX 什么的):用户提交登录表单后,服务器端应该是要返回一个 HTTP 302 重定向到一个目标页面(而不是直接输出内容);这样的话,无论目标页面是不是登陆前的页面,用户刷新都不会导致重新提交表单。
davepkxxx
2013-07-17 17:19:05 +08:00
@julyclyde 重定向到首页的话就不存在这个问题。
airyland
2013-07-17 17:26:52 +08:00
discuz的Ucenter需要同步登录各个子站,使用的是js设置cookie的方式,因此一般需要登录后在一个页面用<script>的方式执行这个过程,至少当时我用Ucenter整合网站时是这样的。
msg7086
2013-07-18 06:08:53 +08:00
我会告诉你这是10年前论坛流程的标准设计而遗留下来的问题么
raincious
2013-07-18 08:49:06 +08:00
一楼错了。@icoder是对的。

登陆页面验证用户提交的凭证之后会设置一个Header给用户,但是Cookie的设置是无法判断成功的,于是需要跳转到另一个页面来判断Cookie是否设置过了,以便让用户去选择是否重新输入或者更改浏览器的设置。

具体的过程是

用户登录成功->设置Cookie Header和Goto Header->新页面检测Cookie的值->若成功则提示用户登录成功。

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

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

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

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

© 2021 V2EX