【发布时间】:2012-06-14 17:33:36
【问题描述】:
我正在尝试在 CORS 环境中的 XMLHttpRequest 中设置 cookie,我在 Set-Cookie 标头中对我的服务器(使用 Restlet 开发)的最后一次调用中收到了 cookie。由于我无法读取此标头,因此我必须将控制权留给浏览器(在本例中为 Chrome),所有对服务器的请求都必须在 Cookie 标头中包含相同的值(第一个请求中的接收 cookie)。 我必须在第一次调用中将 withCredentials (并在服务器中设置 allow-credentials 标头)放在 xhr 请求中吗?此标志将获取 Set-Cookie 并在 Cookie 标头上放入下一个 xhr 请求?
有人可以澄清浏览器中 withCredentials 标志的行为吗?和其他问题,在 cors 中我可以访问 document.cookie 来设置它吗? (如果我可以 setRequestHeader("Cookie", value))????
【问题讨论】:
-
我已经得出结论,我不能使用 withCredentials 标志,我正在使用摘要身份验证,并且我的服务器向我发送了一个 cookie,以便在其余的 ajax 调用中发送。如果我设置为 true withCredentials 浏览器使用它自己的身份验证实现(显示登录窗口)。我不会使用 withCredentials,而是实现一个自定义 http 标头来发送 cookie 并使用我的 javascript api 处理它。
标签: javascript ajax cookies cors