【发布时间】:2016-06-08 02:15:07
【问题描述】:
这是我的 angular2 代码
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 Controller中我的Action Method如下:
[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"});
}
我总是得到空值。如果我使用复杂类型,我得到的属性是空值。在像这样的简单情况下如何使它正确? 更新:
return this.http.post(this._heroUrlPost, body, options)
.toPromise()
.then(res => <Hero>res.json())
.catch(this.handleError);
【问题讨论】:
-
我没有发现 Angular 代码有任何问题...所以这可能是服务器问题,我不知道 ASP...
标签: angular asp.net-core