如何在角度2中获得自定义响应标头?

Jyo*_*ngh 6 http observable angular

我是角度2的新手,目前正在使用angular 2.2.1,其中我成功地发布请求并获得成功响应但是当我尝试从响应中获取Authorization标头时我总是得到null是否能够获得Content-Type头.以下是我目前的解决方案.

service.ts登录方法:

login(model: LoginModel) {
        let requestUrl = '/someurl';
        let requestPayload = JSON.stringify(model);
        let headers = this.getHeaders(false); // ... Set all required headers       

        let options = new RequestOptions({ headers: headers }); // Create a request option

        return this.http.post(requestUrl, requestPayload, options) // ...using post request
            //.map((res: Response)) // ...and calling .json() on the response to return data
            .subscribe((res: Response) => {
                var payload = res.json();
                var authorization = res.headers.get('Authorization');
                var contentType = res.headers.get('Content-Type');                                
                console.log(payload, contentType, authorization)
            });            
    }
Run Code Online (Sandbox Code Playgroud)

标题助手

getHeaders(isSecureAPI: boolean) {
        let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });
        if (isSecureAPI) {
            headers.append('Authorization', 'GetFromSession');
            headers.append('X-UserID', 'GetFromSession');
        }
        return headers;
    }
Run Code Online (Sandbox Code Playgroud)

提琴手轨道:

在此输入图像描述

角度控制台输出 在此输入图像描述

所以任何人都可以指导我可能做错了什么?

Jyo*_*ngh 11

允许标题但不在CORS服务器上公开,但添加 headers.add("Access-Control-Expose-Headers","Authorization,X-Custom"); 在服务器上完成了工作:)