【问题标题】:ionic 2 headers not being set before the http request在 http 请求之前未设置 ionic 2 标头
【发布时间】:2017-11-01 13:17:11
【问题描述】:

我的后端有以下请求:

loggedIn() {
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    this.getToken().then((val) => {
        headers.append('X-Auth-Token', val);
    });
    const options = new RequestOptions({headers: headers});
    let seq = this.api.post('/login', null, options).share();
    seq.map((res: Response) => res.json())
        .subscribe(res => {

        }, err => {
            console.log("HEADERS ------- ", options.headers);
        });
    return seq;
};

有时未设置“X-Auth-Token”。如何确保正在设置标题?

getToken() 看起来像这样:

getToken() {
    return this.storage.get('token').then((value) => {
        return value;
    });
}

调用loggedIn()的方法如下:

checkIfLoggedIn() {
    this.user.loggedIn()
        .subscribe((res) => {
            console.log("LoginPage RETURN VALUE --------------- ", res);
        }, (err) => {
            console.log("LoginPage RETURN ERROR --------------- ", err);
        });
}

【问题讨论】:

    标签: angular typescript asynchronous ionic2


    【解决方案1】:

    更新您的代码以确保标头后的 api 发布有数据

    loggedIn() {
        let headers = new Headers();
        headers.append('Content-Type', 'application/json');
        this.getToken().then((val) => {
            headers.append('X-Auth-Token', val);
             const options = new RequestOptions({headers: headers});
             let seq = this.api.post('/login', null, options).share();
             seq.map((res: Response) => res.json())
                .subscribe(res => {
    
                }, err => {
                    console.log("HEADERS ------- ", options.headers);
                });
            return seq;
        });
    
    };
    

    【讨论】:

    • 我试过了,但是我不能从方法 checkIfLoggedIn() .subscribe() 到 loggedIn()
    【解决方案2】:

    我有同样的问题,但我使用的是 ionic 3。这实际上是由于 js 代码的异步方式而发生的。我从其他 stackoverflow 问题中找到了答案,这将帮助您解决这个问题。

    https://stackoverflow.com/a/45298747/2036977

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 2012-06-09
      • 2017-06-26
      • 1970-01-01
      相关资源
      最近更新 更多