AJAX响应可以设置cookie吗?如果没有,我的替代解决方案是什么?我应该用Javascript或类似的东西设置它吗?
Str*_*lok 290
根据用于XMLHttpRequest的w3规范部分4.6.3,用户代理应该遵守Set-Cookie头.所以答案是肯定的,你应该能够.
报价:
如果用户代理支持HTTP状态管理,它应该保留,丢弃并发送cookie(如Set-Cookie响应头中所接收的,并在Cookie头中发送)(如果适用).
thi*_*eek 238
是的,您可以在服务器端代码中的AJAX请求中设置cookie,就像您对正常请求所做的那样,因为服务器无法区分正常请求或AJAX请求.
AJAX请求只是一种请求服务器的特殊方式,服务器需要像在任何HTTP请求中一样进行响应.在请求的响应中,您可以添加cookie.
Bog*_*scu 85
对于记录,请注意,只有在同一域上进行AJAX调用时,上述所有内容才会(仍)为真.如果您正在考虑使用AJAX在另一个域上设置cookie,那么您将打开一个完全不同的蠕虫病毒.但是,阅读跨域cookie确实有效(或者至少服务器为它们提供服务;您的客户的UA是否允许您的代码访问它们是一个不同的主题;截至2014年,它们也是如此).
还要检查您的服务器是否在非http请求中设置安全cookie.刚刚发现我的ajax请求正在获得一个带有"安全"设置的php会话.因为我没有使用https,所以它没有发回会话cookie,我的会话正在重置每个ajax请求.
归档时间: |
|
查看次数: |
125845 次 |
最近记录: |