为了账号安全,请及时绑定邮箱和手机立即绑定

ajax登录跳转如何实现的

ajax登录跳转如何实现的

守候你守候我 2019-04-21 20:42:59
我想在页面用ajax向服务器post数据,如果用户名密码正确,就登录成功,进行跳转。如果不正确,就返回一个json回页面,然后登陆界面给出提示(就像segmentfault.com这样的)我的做法是,服务器验证正确了,也返回json给页面,由js进行跳转,但是不成功,页面没有登录!
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

首先
我观察到的是SF这样的并不算是ajax登录吧,你可以用chrome看看,SF登录的时候并没有使用Ajax
只不过,SF在每个页面都加了一个modal
要实现SF这种很简单,
提交表单(post)-->处理(/api/user/login)-->跳转(redirect->back())
思路大概就是这样。
其次
我的做法是,服务器验证正确了,也返回json给页面,由js进行跳转,但是不成功,页面没有登录
你已经解决问题了。
                            
查看完整回答
反对 回复 2019-04-21
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

用户名和密码的验证都是后端验证的,这毋庸置疑。
而且,用户登录状态也是要后端设置的,查询数据库后,用户名和密码正确,则在session中存储一个uuid,每个页面需要根据登录状态判断展示相应的内容时,则判断是否有uuid这个session,且uuid不为空。比如头部的登录按钮,在未登录状态是显示登录按钮,在登录后显示用户名和头像,这些都是判断是否有uuid这个值(具体实现里,相对来说更复杂一些)。
我们再来理下这个步骤:
1.向后端ajax发送用户名和密码
2.后端接收到用户名和密码后,查询数据库
2.1若查询失败,则返回一个json数据,如:{"status":"-1",msg:"用户名或密码不正确"}
2.2若查询成功,则在session中存储一个值,比如uuid,然后向前端返回一个json,比如:{"status":"0",msg:"success"}
3.前端js接收到返回的数据后,判断status的值,若status==0,则使用window.location.href进行跳转;其他的状态码都是登录失败,清空密码框,让用户重新输入。
4.比如登录成功跳转到首页,首页里的php或java,需要判断session里是否有uuid:
html
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 314 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号