通过AJAX CORS响应设置Cookie并在document.cookies中访问它们

时间:2013-09-12 16:26:50

标签: javascript cookies cors

我在我的应用中设置了一个可用的CORS。 在服务器端REST服务中,我在ajax响应中添加了cookie的设置。这很好用,下一个对CORS服务的Ajax请求是用cookie发送的。

现在我想在客户端从javascript获取/设置这些设置cookie的值。 document.cookies 会返回一个空字符串,即使它们是从浏览器发送的,每次请求都是其他服务(这意味着它们存储在某处)。

我从localhost运行服务和客户端,在cookies部分下的资源选项卡中的chrome developer工具中,这些已发送的cookie不存在。

这些cookie存储在哪里以及如何访问它们?

1 个答案:

答案 0 :(得分:5)

用于阅读Cookie的唯一界面JavaScript(在网页上)是document.cookie,其中包含当前HTML文档的Cookie。

通过跨域Ajax请求设置的Cookie不适用于当前的HTML文档,因此无法通过该界面使用。

XMLHttpRequest确实有getAllResponseHeaders()方法,但浏览器会禁止Set-Cookie标头,因此您无法在设置它们时访问它们。