如果我有一个用户登录到我的网站,他的id存储在$_SESSION
中,在他的浏览器中,他点击了一个“保存”按钮,这将向服务器发出AJAX请求。他的$_SESSION
和cookie会保留在这个请求中吗?我可以安全地依赖$_SESSION
中的id吗?
发布于 2009-03-24 11:10:27
答案是肯定的:
会话是在服务器端维护的。就服务器而言,AJAX请求和常规页面请求没有区别。它们都是HTTP请求,并且都以相同的方式在报头中包含cookie信息。
在客户端,无论是常规请求还是AJAX请求,都将始终将相同的cookie发送到服务器。Javascript代码不需要做任何特殊的事情,甚至不需要意识到这种情况的发生,它只需要像处理常规请求一样工作。
发布于 2009-03-24 10:44:26
如果AJAX请求的PHP文件有一个session_start()
,会话信息将被保留。( are请求在相同的域中)
发布于 2009-03-24 10:44:45
您真正想要的是:cookie是随AJAX请求一起发送的吗?假设AJAX请求发往相同的域(或在cookie的域约束内),答案是肯定的。因此,返回到同一服务器的AJAX请求确实保留了相同的会话信息(假设被调用的脚本发出一个session_start(),就像任何其他想要访问会话信息的PHP脚本一样)。
https://stackoverflow.com/questions/676846
复制相似问题