Angular JS HTTP Response标头无法在Safari上运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angular JS HTTP Response标头无法在Safari上运行相关的知识,希望对你有一定的参考价值。

我遇到了一个问题,我发布了一个对象,作为回应,我应该从HTTP响应中得到一些标题。问题是这个代码在Chrome,Firefox,IE等浏览器中运行良好,但在Safari(Windows)的情况下返回null

 $http.post(url, data)
         .then(function(response){
                console.log(response.headers("location"));
                // response.headers("location") is null in Safari
         });

以下是我从服务器获取的响应标头。

Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:5000
Access-Control-Expose-Headers:ETag,Location
Content-Length:0
Date:Mon, 15 May 2017 12:46:14 GMT
Location: //my API
Server:Microsoft-IIS/8.5
X-Powered-By:ASP.NET
答案

也许你的safari是旧的版本,根据旧的建议工作,每个自定义标题必须以X为前缀 - 请参阅此链接:enter link description here

以上是关于Angular JS HTTP Response标头无法在Safari上运行的主要内容,如果未能解决你的问题,请参考以下文章

angular js $http服务使用

在Angular JS中获取HTTP请求的值

Angular2 http响应正文出错

angular1.0 $http jsonp callback

在 Google Chrome 浏览器中使用 Angular 7 和 ASP.Net Core 2.2 的 ERR_INVALID_HTTP_RESPONSE

Angular基础 HTTP & Routing