我是角度2的新手,我遇到了一个无法找到解决方案的问题: 当我尝试从角度2发布到API时,我得到 - 415不支持的媒体类型。
Angular 2代码:
onSubmit(value: any) {
// console.log(value.message);
let headers = new Headers({ 'Content-Type': 'application/json'});
let options = new RequestOptions({ headers: headers });
let creds = 'statusuknown';
let body = JSON.stringify(creds);
this.http.post('http://localhost:1318/api/ActionItem', creds)
.subscribe(
() => {console.log('Success')},
err => {console.error(err)}
);
}
我的控制器代码:
// POST api/actionitem
[HttpPost]
public ActionItem Post( [FromBody]string str)// _id, string _status)
{
ActionItem item = new ActionItem( 313, str);
return item;
}
当我将控制器代码更改为不从主体获取数据时,它可以工作,但是指的是NULL。
答案 0 :(得分:1)
documentation您定义了标头,但没有使用它。将您的代码更改为
for
答案 1 :(得分:0)
在http请求中也使用标题和正文。在cread中使用onSubmit函数的值参数。
使用以下代码
let creds=JSON.Stringify(value);
this.http.post('http://localhost:1318/api/ActionItem', creds, options)
.map((res: Response) => res.json()).subscribe(res => {
this.result = res;
console.log(this.result);
});