Web services 415爱奥尼亚2-Web服务帖子中不支持的媒体类型?
我正在尝试在我的应用程序在Ionic 2中登录时发出POST请求Web services 415爱奥尼亚2-Web服务帖子中不支持的媒体类型?,web-services,http,post,angular,ionic2,Web Services,Http,Post,Angular,Ionic2,我正在尝试在我的应用程序在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'
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."}
也许您忘了导入Headers类。在这种情况下,您自己定义的头不会发送到请求中
import { Http, Headers } from 'angular2/http';
您可以在开发人员工具的网络选项卡中检查此请求的内容吗?您有内容类型标题吗?使用这个.http.setDataSerializer('json');在post之前,请使用set而不是append,因为它是不可变的。像这样的-
var headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json');
你能提供你的工作代码让你的答案更清楚吗?