如何通过跨域ajax获取响应头



我正在尝试阅读文档,我必须承认这不是一个容易阅读的过程。我(在添加了Access Control Allow Origin标头之后)读取responseText没有问题,但除了Firefox之外,在任何地方都无法获得响应标头。

所以,我的问题是,使用跨域ajax获取响应头的正确方法是什么?

我尝试过使用(Access Control Expose Headers),但再次读取标头失败。

因此,它的工作方式应该是在access Control Expose-headers标头中指定您希望客户端有权访问的标头。例如,如果您的服务器设置了Foo响应标头,并且您希望客户端能够读取它,那么您的服务器也应该发送以下标头:

Access-Control-Expose-Headers: Foo

在客户端,您可以通过调用xhr.getAllResponseHeaders()读取所有响应标头。这将以字符串形式返回响应标头,然后您可以使用以下代码将其解析为对象:https://gist.github.com/706839

这是对应该如何工作的解释。但是,请注意,在较旧的浏览器中存在一个错误,无法在客户端上读取响应标头。请参阅此处了解更多详细信息:CORS xmlhttprequest HEAD方法

我也遇到了同样的问题,在Chromium邮件列表上找到了答案,这在webkit中得到了修复,它将在crhomium~19中实现。

我会努力找到话题并更新我的答案。

相关内容

  • 没有找到相关文章

最新更新