我正在尝试在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."}
答案 0 :(得分:1)
也许您忘记导入Headers类。在这种情况下,您自己定义的标题不会在请求中发送...
import { Http, Headers } from 'angular2/http';
您可以在开发人员工具的“网络”标签中查看此请求的内容吗?你有Content-Type标题吗?
答案 1 :(得分:0)
使用this.http.setDataSerializer('json');发布之前
答案 2 :(得分:0)
使用 set 代替 append ,因为它是不可变的。像这样的东西-
var headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json');