http - 如何在 Angular 2 中获取自定义响应 header ?

标签 http angular observable

我是 Angular 2 的新手,目前正在使用 Angular 2.2.1,我可以在其中成功发布请求并获得成功响应,但是当我尝试从响应中获取 Authorization header 时,我总是得到null 我是否能够获得 Content-Type header 。到目前为止,以下是我的解决方案。

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)
            });            
    }

header 助手

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;
    }

Fiddler 音轨:

enter image description here

Angular 控制台输出 enter image description here

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

最佳答案

header 被允许但未在 CORS 服务器上公开,但是在服务器上添加 headers.add("Access-Control-Expose-Headers", "Authorization, X-Custom"); 完成了这项工作: )

关于http - 如何在 Angular 2 中获取自定义响应 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42063685/

相关文章:

observable - RxJava 2 Flowable 是热的还是冷的?

angular - RxJS 仅从数组中获取已更改的对象

http - 如何使用Rcords向队列传递参数

javascript - Angular4 - 如何从文档主体中删除 Bootstrap 注入(inject)的类?

javascript - Observable 与 Promise,如何等待所有 observable 完成?

typescript - Angular2 嵌套路由不起作用

angular - 拖放图片上传,angular 4

http - Firefox 和 Internet Explorer 在 OPTIONS 请求后收到 200 OK 后不发送 POST 请求 - 在 Chrome 中工作正常

iphone - HTTP 自适应比特率流式传输如何在 iPhone 上工作?

.htaccess 将所有index.html重定向到父文件夹