この問題には多くの質問がありますが、ASP.NET Web API 2メソッドにデータを投稿することはできません。これはすべて同じホストとポートに出入りしています。Web API Postはメソッドのパラメータにデータをバインドしません
ここに私のサーバー側のコードです:
[RoutePrefix("api/help")]
public class HelpAPIController : ApiController
...
public class Item {
public string name { get; set; }
public string position { get; set; }
}
[Route]
[HttpPost]
public void Post([FromBody] Item[] stuff)
; // we get here but data is always null or zero items in array
}
Javascriptを:
"use strict";
var a = [{ "name": "me", "position": "here" },
{ "name": "me", "position": "here" },
{ "name": "me", "position": "here" }];
jQuery.ajax({
type: "POST",
datatype: "application/json",
url: "/api/help/",
data: { "stuff": JSON.stringify(a) },
success: function (data) { alert(data); },
error: function (error) {
...
}
});
実際の要求内容(なしハードリターン):
stuff:[{"name":"me","position":"here"},
{"name":"me","position":"here"},
{"name":"me","position":"here"}]
ではなく '項目[]' 'の一覧- 'で動作しますか? –
@PetreTurcu Nopeは、配列のない単一オブジェクトでも機能しません(サーバーとクライアントの両方が配列を指定していない場合)。項目がないか空です。 –