Angular2 - 发送Null值

时间:2017-03-13 15:55:39

标签: angular

当我做一个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的各种组合。所有人都打电话给控制器,但是当它到达那里时,评级从未填充!

1 个答案:

答案 0 :(得分:0)

您不需要将传递给post的值字符串化。如果你传入一个对象,它应该自动发布为JSON。

    addRatings(ratings: IMeasureRating[]) {
        this._http.post(this._ratingURL + "AddNewMeasureRatings", ratings)
                  .map(res=> res.json()).subscribe(r => console.log(r));
    }