当我做一个http帖子时,我得到一个空值发送到表单正文。这是我的服务
addRatings(ratings: IMeasureRating[]) {
let headers = new Headers();
headers.append('Content-Type', 'application/json')
let options = new RequestOptions({ headers: headers });
console.log("Add Rating service: " + JSON.stringify(ratings));
this._http.post(this._ratingURL + "AddNewMeasureRatings", JSON.stringify(ratings), options)
.map(res=> res.json()).subscribe();
}
如果我在调试器中逐步执行此操作,评级似乎已正确填充。但是我的控制器收到一个空值。这是我的控制员...
[HttpPost("[action]")]
public void AddNewMeasureRatings([FromBody] MeasureRating[] ratings)
{
_repository.AddRatings(ratings);
}
我尝试了.map和.toPromise的各种组合。所有人都打电话给控制器,但是当它到达那里时,评级从未填充!
答案 0 :(得分:0)
您不需要将传递给post的值字符串化。如果你传入一个对象,它应该自动发布为JSON。
addRatings(ratings: IMeasureRating[]) {
this._http.post(this._ratingURL + "AddNewMeasureRatings", ratings)
.map(res=> res.json()).subscribe(r => console.log(r));
}