我想让多个 XmlHttpRequests 使用不同的 cookie 集,以保持多个用户在同一个站点上登录。实现这一目标的最佳方法是什么?
请注意,如果需要,我可以使用本地存储在请求之间保留额外的 cookie 集。但我仍然不知道如何将 XmlHttpRequest 与与网站浏览器范围的 cookie 不同的 cookie 一起使用。
我想让多个 XmlHttpRequests 使用不同的 cookie 集,以保持多个用户在同一个站点上登录。实现这一目标的最佳方法是什么?
请注意,如果需要,我可以使用本地存储在请求之间保留额外的 cookie 集。但我仍然不知道如何将 XmlHttpRequest 与与网站浏览器范围的 cookie 不同的 cookie 一起使用。
你就是不能。XmlHttpRequest 将始终使用该站点的浏览器范围的 cookie,您需要更改该设置(例如,从 localStorage 更改为一个)。
对于跨域请求,您只能告诉浏览器应该使用 cookie,如如何在 JavaScript 中使用 XMLHttpRequest 设置 Cookie(标头)?.
从xhr 的规格:
如果用户代理支持 HTTP 状态管理,它应该坚持、丢弃和发送 cookie(在 Set-Cookie 响应头中接收,并在 Cookie 头中发送)。[饼干]
...并且cookie
标题不允许在setRequestHeader()
方法中被覆盖,您不能根据请求手动设置它们。