为什么在ajax中设置cookies会无效的

2024-11-02 00:34:43
推荐回答(1个)
回答(1):

这样是不会刷新的,你必须在通过ajax设置cookie后由后端返回设置结果(成功/失败)
然后在前端通过js更新页面
因为网页在显示时已经下载完毕,不会改变了,你需要改变网页内容,就要用js修改,ajax取回来数据,然后前端用js根据数据来修改页面
你的后端将cookie删除了,但前端页面已经被浏览器解析,所以浏览器不会自己修改登录信息
解决方法:
ajax发送请求→PHP接到退出请求→PHP删cookie→PHP返回成功码{"success":1}或失败码{"success":0}→前端接受到返回码→如果是1,则通过js将用户名改掉(如document.getElementById('username').innerHTML='请登录')等
一般退出是直接用一个链接,用户访问连接后,后端清理cookie,然后用302或301跳转到原来页面或首页,目前大部分网站都是跳转的方式退出的
虽然ajax不刷新页面的方式理论上用户体验更好,但个人认为,退出账户这类操作不会经常使用,没有必要用ajax,通常是网页中动态展示的数据(如天气、抽奖结果、活动参与信息)等经常需要变动的数据用ajax

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !