這裏是我的angular2代碼Angular2 HTTP POST到Asp.net 5控制器參數綁定收到null
addHero(name: string): Promise<Hero> {
let body = JSON.stringify({ name: name });
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this._heroUrlPost, name, options)
.toPromise()
.then(res => <Hero>res.json().data)
.catch(this.handleError);
}
而在MVC控制器我的行動方法如下:
[HttpPost]
public JsonResult PostHeroes([FromBody]string name)
{
//var name1 = Request.Form["name"].ToString();
if (!string.IsNullOrEmpty(name))
{
var hero1 = new Heroes()
{
HeroName = name
};
_dbContext.Hero.Add(hero1);
_dbContext.SaveChanges();
return Json(new { data = hero1 });
}
return Json(new { data="Not Saved"});
}
我總是空。如果我使用複雜的類型,我得到的屬性爲null.Whatever在這種簡單的情況如何使它正確? 更新:
return this.http.post(this._heroUrlPost, body, options)
.toPromise()
.then(res => <Hero>res.json())
.catch(this.handleError);
我看不出有什麼毛病角碼...所以它可能是一個服務器問題,我不知道ASP tho'... – Sasxa