【发布时间】:2011-10-01 09:39:56
【问题描述】:
我有一个奇怪的问题,我已经让 CORS 在没有 cookie 的情况下工作,现在我正在添加 cookie 支持,因为我的 web 服务使用 cookie 作为其对某些路由的身份验证机制的一部分。
现在,最初当我设置 xhr.withCredentials = true 时,它会接收并接受 cookie,但后来我意识到 cookie 的域是“localhost”,随后对服务的调用不会发送 cookie。这仍然是部分未知,为什么它不会将 cookie 发回,但据推测这是因为实际服务驻留在“localhost:1893”而不是域所说的“localhost”。
所以...我更改了服务中的域以正确反映端口号,因此它是“localhost:1893”。但是,当 CORS 请求现在发生时,它会在响应中接收 cookie(您可以在 firebug 响应中看到它),但是 cookie 是灰色的,并且不会出现在 firebug 的实际 cookie 部分中。
有人能解释一下吗?
- 使用 Firefox 5
- 使用 jquery 1.6.1
- XHR 的 withCredentials 设置正确
- 服务器返回正确的 CORS 标头
【问题讨论】:
标签: jquery ajax firefox cookies cors