2017-03-13 16 views
-1

私はhttp投稿を行うと、null値をフォーム本体に送信しています。これは私のサービスですAngular2 - Null値を送信する投稿

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(); 
} 

評価が正しく表示されるように、デバッガで実行します。しかし、私のコントローラはnull値を受け取ります。これは私のコントローラです...

 [HttpPost("[action]")] 
    public void AddNewMeasureRatings([FromBody] MeasureRating[] ratings) 
    { 
     _repository.AddRatings(ratings); 
    } 

Iveは、.mapと.toPromiseのさまざまな組み合わせを試しました。すべてがコントローラへの呼び出しを行いますが、レーティングはそこに到着した時点で決して占められません!

+0

リクエストの本文に正しく入力されているかどうかを確認できますか? –

答えて

0

投稿に渡す値を文字列にする必要はありません。オブジェクトを渡すと自動的にJSONとして投稿されます。

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

yes iveはstringifyで試してみましたが、違いはありません。 – ashleycuk

+0

[HttpPost( "[action]")]を[HttpPost]に変更します。 – Steveadoo

関連する問題