是否可以从JavaScript中的HTTP响应头获取Set-Cookie值?
我正在使用jQuery的ajax()
方法进行一些异步服务器调用,并希望捕获调用失败的情况,因为会话已超时。
从这个案例中查看响应头文件,我看到它们包含了
Set-Cookie: SMSESSION=LOGGEDOFF
这似乎是一个非常可靠的测试。 但是在传递给jQuery的error
回调的XMLHttpRequest
对象上调用getAllResponseHeaders
显然会返回一个空字符串,而我无法找到获取该头信息的任何其他方法。
这可能吗?
如果您阅读W3 XHR规范,您将看到它们不允许您通过getAllResponseHeaders('Set-Cookie')
调用访问set-cookie
响应头。
请参见4.7.3 getResponseHeader()方法:
要点3: “如果标头是Set-Cookie或Set-Cookie2不区分大小写的匹配项,则返回null。”
http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders%28%29-method
jfriend00也在上面的评论中留下了这个回复,但我认为这个问题可以使用合法的答案。
如果文档来自同一个域和路径,请使用document.cookie接口如果cookie具有http-only属性集,则无法访问