1. 浏览器后退按钮
这个在注册或者登陆的时候是一个普遍的问题,登陆之后,跳转到另外一个页面,我的鼠标有两个侧键,是用于前进和后退的,有时候会误点侧键,这个时候页面又会回到之前的登录页面,但事实是用户已经登录了,所有页面的状态都应该是已登录的,不管什么情况下都不应该让用户在看到这个页面。用户的点击操作会引发上面的问题,而程序
history.go(-1) & history.back()
也会有一样的bug。
这样的问题处理方案比较简单,ajax 拿到 success 的状态码时立刻做跳转,但是这里不能用
window.location.href
,这样浏览器还是会记录这个登录历史,应该使用
window.location.replace
,替换当前历史记录。
2. 多次提交
我们发微博的时候经常会遇到的问题,因为网络原因,会多次点击发布按钮,这个问题有多种处理方案:
- 发布之前先从服务器拿 token,该 token 只有一次有效
- 后端判断一定时间内用户发布的多条信息,相同的信息去重
- ...