php。通过ajax设置cookie成功后,客户端浏览器会更新cookie信息吗?就是说网页不刷新

php。通过ajax设置cookie成功后,客户端浏览器会更新cookie信息吗?就是说网页不刷新,仅仅通过ajax请求到后台,后台只运行一句设置cookie的代码

这样是不会刷新的,你必须在通过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追问

您回答的完美到极点了!!此前我在百度知道和相关qq群问了不下百次了,没有得到一个满意的回答,今天直到遇到你,实在是感激不尽啊,像你这样的高手还有如此耐心回答我个小喽喽,实在是万分感谢!实在找不到感谢你的方法了,在这里我只能祝您:万事如意,心想事成!

你好啊,还想问你个问题

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-10
会的,后台请求php和直接请求效果是一样的。这也是ajax在网页上得到大量应用的原因。
第2个回答  2014-02-10
会。。。。追问

我用ajax做退出登录,就是用cookie做的,它刷新才显示退出成功,要不然不刷新网页它就依然显示用户名

这是为何啊,我ajax请求成功了的,cookie也销毁成功了,可用户名依然还是显示了,但手动刷新后就不显示了

追答

。。。。因为页面没刷新啊。。。。

追问

你。。。你耍我还是逗我呢

你改口真快,你看看你第一条回答

追答

刷新会啊。。。

追问

我知道刷新会,但ajax请求就是不刷新页面,这怎么解决