2017-10-03 22 views
0

単純なJSONをC#コントローラに投稿しようとしていますが、nullになっています。私はAngularJSが初めてです。AngularJSからC#コントローラへのJSONの投稿方法

こちらの記事

k = "{ 'id': 1,'name': 'A green door','price': 12.50}"; 

$http.post("/Inventory/PostSO", k) 
    .then(function (response) { 
     $scope.message = response.status; 
    }, 
    function (error, status) { 
     $scope.message = error.error; 
    }); 

が、これはC#のコードですが、文字列データは常にnullである

public ContentResult PostSO(string data) 
{ 
    return null; 
} 

私が間違って何をやっているということ?angularjsコードがありますかありがとう

+0

なぜあなたは、文字列としてオブジェクトを送信しますか? – Nikolaus

+1

あなたの問題を解決しましたか? – Nikolaus

答えて

1

まず、リクエストヘッダーを設定します。

のContent-Type - 2番目のコントローラのアクションパラメータでアプリケーション/ JSON

が文字列であるアクション記述子は、C#のオブジェクトにsendedではモデルをマッピングする単純なクラスを作成しようとするため、それは、モデルでなければなりませんjsonの例では、データのようなすべてのプロパティを定義します。

して、やり直してください:)

1

アクション・パラメータにFromBody属性を追加します。

public ContentResult PostSO([FromBody]string data) 
{ 
    return null; 
} 
関連する問題