为什么我的POST数据无法在Ionic 4中正确提交?

时间:2019-01-07 18:43:16

标签: angular ionic-framework

我正在将Ionic应用程序升级到版本4,并且遇到了一个奇怪的问题,即我不确定数据是否已正确提交给我的API。

我将其简化为基本知识,API仍然返回401未经授权错误。

我知道API可以使用,因为当我通过邮递员提交API时,我会收到预期的数据...

我正在导入HttpClient ...

import { HttpClient, HttpHeaders } from '@angular/common/http';

这是我的简化功能,当单击“提交”按钮时运行。

onSubmit() {

    const headers = new HttpHeaders({
        'Content-Type': 'application/x-www-form-urlencoded'
    });

    let body = {
        'username': 'test',
        'password': 'test',
    }

    this.http
        .post(this.apiService.url, body, { headers: headers })
        .subscribe((data: any) => {
            console.log(data);
        }, error => {
            console.log('error');
        });
}

这一切在Ionic 3中都可以完美运行,所以我对为什么现在不起作用感到困惑。

1 个答案:

答案 0 :(得分:0)

这个post为我解决了这个问题。显然Angular 5+会为您处理标头,所以我要做的就是删除它们,它就可以了。

onSubmit() {

    let body = {
        'username': 'test',
        'password': 'test',
    }

    this.http
        .post(this.apiService.url, body)
        .subscribe((data: any) => {
            console.log(data);
        }, error => {
            console.log('error');
        });
}

https://stackoverflow.com/a/47560146/10646827