如何在Angular中获取响应头

时间:2019-05-16 11:38:47

标签: javascript angular http http-headers

如果摘要授权的错误代码为401,我尝试从http响应中获取标头。

这是我的代码:

 this.http.post(this.hostname + ':10000/users/auth2', { })
        .subscribe(res => {
            console.log(res);
        },
        error => {
            console.log(error);
        });

如果发布请求返回200码,则一切正常。 如果我从后端返回401代码,则无法访问标头。

Chrome调试器显示标题。邮递员电话也可以使用摘要身份验证正常工作。

2 个答案:

答案 0 :(得分:1)

observe参数的默认选项为body,更改方式为 将{observe: 'response'}添加到您的post方法中:

 this.http.post(this.hostname + ':10000/users/auth2', {}, {observe: 'response'})
    .subscribe(res => {
        console.log(res);
    },
    error => {
        console.log(error.headers);
    });

答案 1 :(得分:0)

我有一个非常相似的问题,我想从响应中获取状态代码。

最终做了类似的事情:

   return await this.http
        .post<any>(this.hostname + ':10000/users/auth2', {})
        .toPromise()
        .then(res => res.data, (err:HttpErrorResponse) => err.headers);