【问题标题】:Get Response Header with angular 2获取角度为 2 的响应标头
【发布时间】:2017-01-27 16:57:43
【问题描述】:

我从 php 中设置了标题响应 Token: abc。如何从响应头中获取值?
这是我的代码

isLogin(): Promise<any> {
        let headers = new Headers;
        headers.set('Token', 'absajsj'); //I can set the header
        headers.get('Token'); // But this return NULL

        //console.log(this.cookie.get('autologin'));

        //let options = new  RequestOptions({ headers: headers });

        return this.http.get(this.BASEURL + 'api/client/authentication/check', { headers: headers })
            .toPromise()
            .then(res => {
                let a = res;
                console.log(a.headers.get('Token'))
            })
            .catch(err => console.log(err));
    }

这是服务器代码。我使用codeigniter。

if ($this->auth->loggedin())
        {
            $this->output
                ->set_status_header(200)
                ->set_content_type('application/json')
                ->set_output(json_encode(['status' => $_COOKIE['autologin']]));
        } else {
            $this->output
                ->set_status_header(200)
                ->set_header('Token: abcks')
                ->set_content_type('application/json')
                ->set_output(json_encode(['status' => $_SERVER['HTTP_TOKEN']]));
        }

关注else 区块。

这是响应标头。我使用 Firefox 开发工具。

【问题讨论】:

    标签: angular header ionic2 token response


    【解决方案1】:

    谷歌搜索 2 天后。我发现这是一个cors问题。要解决这个问题,只需在 .htaccess 中添加 Allow-Origin-Header-Expose "Token"

    感谢你们给予我的关注。这个社区很棒。我会将此标记为答案。干杯:)

    【讨论】:

    • 我有一个稍微不同的问题,我需要添加“Access-Control-Expose-Headers”,但你提到的标题有帮助。
    【解决方案2】:

    您是否尝试使用 append 方法?

    headers.append('Token', 'absajsj');
    

    【讨论】:

    • 是的,没有效果。 :D 来自服务器的响应是 JSON
    • 我测试了您的代码,并且 get/set 有效。您是否从 '@angular/http' 导入了 { Headers };
    • 对不起。我被编辑了这个线程。我的意思是我无法从响应标头中获取令牌。控制台打印为 null..
    • 您在请求标头中设置了令牌...检查您的响应标头是否包含 Fiddler 的令牌参数。
    • 什么是提琴手?我可以在响应标头中看到令牌,但无法获取。
    【解决方案3】:

    请尝试:

    a.headers('Token')
    

    【讨论】:

    • 给出错误:无法调用类型缺少调用签名的表达式
    • 能否打印并发布 promise 的 res.headers 对象
    • 我被编辑了脚本。反应就像图片一样。标头中没有令牌
    猜你喜欢
    • 2017-06-23
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多