AJAX响应可以设置cookie吗?如果没有,我的替代解决方案是什么?我应该用Javascript或类似的东西来设置它吗?
发布于 2010-07-27 12:46:14
是,您可以在服务器端代码中的AJAX请求中设置cookie,就像您对正常请求所做的那样,因为服务器无法区分正常请求和AJAX请求。
AJAX请求只是向服务器发出请求的一种特殊方式,服务器需要像任何HTTP请求一样进行响应。在请求的响应中,您可以添加cookies。
发布于 2010-07-27 12:49:14
根据w3 spec section 4.6.3 for XMLHttpRequest,用户代理应该遵守Set-Cookie头。所以答案是肯定的,你应该能够做到。
引用:
如果用户代理支持HTTP状态管理,它应该保留、丢弃和发送Cookie (在Set-Cookie响应头中接收,并在Cookie头中发送)。
发布于 2012-10-13 05:31:55
需要注意的是,只有在同一个域上进行AJAX调用时,以上所有内容才是(仍然)正确的。如果您正在考虑使用AJAX在另一个域上设置can of worms,那么您打开的是一个完全不同的cookie。然而,读取跨域cookie确实有效(或者至少服务器为它们提供服务;您的客户端的UA是否允许您的代码访问它们,这又是一个不同的话题;从2014年开始,它们是这样做的)。
https://stackoverflow.com/questions/3340797
复制相似问题