Angular $ http不显示所有标头

时间:2016-05-19 21:59:01

标签: javascript angularjs http header response

我遇到一个问题,$ http对象没有返回所有标头。我已经完成了我的研究,发现默认情况下,返回的对象只会显示有限的标题数据列表,除非您指定了“访问控制 - 显示 - 标题”#39;和'访问控制 - 允许 - 来源'。我已经在下面这样做了,但仍然没有得到标题数据的完整列表。有什么建议吗?

this.$http.defaults.headers.common['Access-Control-Expose-Headers'] = 'Etag';
this.$http.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
this.$http.get('http://123.456.78.900:3000/api/events?' + filter)
.then(function (response) {
    console.log('data', response.data);
    console.log('headers', response.headers());
});

响应:

headers Object {content-type: "application/json; charset=utf-8"}

1 个答案:

答案 0 :(得分:0)

promise函数有4个参数,其中第三个是header。尝试使用它们。

this.$http.defaults.headers.common['Access-Control-Expose-Headers'] = 'Etag';
this.$http.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
this.$http.get('http://123.456.78.900:3000/api/events?' + filter)
.then(function (response, status, headers) {
    console.log('data', response.data);
    console.log('headers', headers);
});