我使用$http.get
向我的网络服务器发送HTTP请求并检索信息。我使用angular-js版本1.5.8。
这就是我的代码的样子:
var config = {
headers: {
'Authorization': 'Bearer ' + token
}
};
$http.get('https://myserver.com/v1/result', config).then(function(response)
{
// On success
}, function (resposne)
{
// On error.
var justForTesting = response.headers('content-type'); // return the expected data ("application/json").
var code = response.headers('company-error-code'); // Not returning the expected data (11). Actual value - 'null'
});
我的问题是从服务器的响应中检索标头company-error-code
。其他标题正在返回其值而没有任何问题。
为了确保服务器响应中存在company-error-code
,我使用chrome捕获流量(" Network"标签)并获取此信息:
Request URL:https://myserver.com/v1/result
Request Method:GET
Status Code:400
Remote Address:127.0.0.1:8888
Referrer Policy:no-referrer-when-downgrade
Response Headers
access-control-allow-origin:*
cache-control:no-cache
cf-ray:3d3ccee29b756b55-LHR
content-length:101
content-type:application/json; charset=utf-8
date:Wed, 27 Dec 2017 14:00:47 GMT
expires:-1
pragma:no-cache
server:cloudflare-nginx
status:400
x-aspnet-version:4.0.30319
x-powered-by:ASP.NET
company-error-code:11
正如您所看到的,标题company-error-code:11
存在于响应中(列表中的最后一行),但在我尝试从response.headers('company-error-code')
代码访问时却不存在。
为什么呢?怎么解决?