在Angular http响应拦截器中,我如何获得实际的xhr对象?

时间:2013-10-10 12:53:53

标签: angularjs

响应拦截器的方法是:

return {
  response: function(response) {
    // processing here
  }
};

由于CORS响应头和各种错误的问题,我想直接访问xhr对象并检索特定的头。但是,response似乎只有:

data - 返回的身体 config - 原始请求 status - 回复状态 headers() - 陷入错误的有问题的功能

如何获取实际的xhr对象,以便直接查看标题?

供参考:AngularJS and Apiary.IO - can't read any response headers?

我想做选项3,并直接使用xhr,但我如何在拦截器中使用它?

1 个答案:

答案 0 :(得分:0)

我认为没有办法访问直接暴露于拦截器的xhr对象。但是,如果这都是由于提到的Firefox错误,您可以执行以下操作来访问您在FF中寻找的标题:

补丁 https://github.com/angular/angular.js/blob/v1.2.0-rc.2/src/ng/httpBackend.js#L76

添加您需要的标头。目前,它只是要求该数组中指定的标头用于FF解决方案。你可以添加如下内容:

simpleHeaders = ["Cache-Control", "Content-Language", "Content-Type",
                              "Expires", "Last-Modified", "Pragma", "Access-Control-Allow-Origin"];