4

我正在尝试在 Ionic 2 中登录我的应用程序时发出 POST 请求。

var link = 'https://domain.name/login' + '?appname=' + "name";
var data = JSON.stringify({username: "0000000", password: "12345678"});
var headers = new Headers();
    headers.append('Content-Type', 'application/json');

this.http.post(link, data, {headers: headers})
    .subscribe(data => {
        var alert = Alert.create({
            title: "Data String",
            subTitle: data.json().data,
            buttons: ["close"]
        });
        this.nav.present(alert);
    }, error => {
        console.log(JSON.stringify(error.json()));
});

但它给出了以下错误。虽然我已经设置了内容类型,但它给出了以下错误。

415 Unsupported Media Type 
{"Message":"The request entity's media type 'text/plain' is not supported for this resource."}
4

3 回答 3

2

使用 this.http.setDataSerializer('json'); 发帖前

于 2019-09-10T22:51:15.803 回答
1

也许您忘记导入 Headers 类。在这种情况下,您自己定义的标头不会在请求中发送...

import { Http, Headers } from 'angular2/http';

您能否在开发人员工具的“网络”选项卡中检查您对此请求的要求?你有 Content-Type 标头吗?

于 2016-02-18T09:55:41.133 回答
0

使用set而不是append因为它是不可变的。像这样的东西-

var headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json');
于 2019-11-23T18:39:08.203 回答