我在我的应用中设置了一个可用的CORS。 在服务器端REST服务中,我在ajax响应中添加了cookie的设置。这很好用,下一个对CORS服务的Ajax请求是用cookie发送的。
现在我想在客户端从javascript获取/设置这些设置cookie的值。 document.cookies 会返回一个空字符串,即使它们是从浏览器发送的,每次请求都是其他服务(这意味着它们存储在某处)。
我从localhost运行服务和客户端,在cookies部分下的资源选项卡中的chrome developer工具中,这些已发送的cookie不存在。
这些cookie存储在哪里以及如何访问它们?
答案 0 :(得分:5)
用于阅读Cookie的唯一界面JavaScript(在网页上)是document.cookie
,其中包含当前HTML文档的Cookie。
通过跨域Ajax请求设置的Cookie不适用于当前的HTML文档,因此无法通过该界面使用。
XMLHttpRequest确实有getAllResponseHeaders()
方法,但浏览器会禁止Set-Cookie
标头,因此您无法在设置它们时访问它们。