2
I持って私のASP.NETコアコードで、次のモデル:投稿複雑なJSON
public class TestItem
{
public string Id { get; set; }
public string Name { get; set; }
public List<TestSubItem> SubItems { get; set; }
}
public class TestSubItem
{
public string Id { get; set; }
}
、私のコントローラ/ TestController.csで、次の方法:
// POST: Test/Create
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create([FromBody]TestItem item)
{
// Use item here...
return View(item);
}
var mySubItems = [{"Id": "1"}];
function submitForm() {
// myForm contains an Id textbox and a Name textbox
$("#myForm").submit();
};
function doPost() {
var testItem = {
Id: "2",
Name: "testName",
SubItems: mySubItems
};
$.ajax({
url: '@Url.Action("Create" ,"Test")',
type: "POST",
contentType: "application/json",
data: JSON.stringify(testItem),
success: function (data) {
alert(data);
},
error: function (error) {
var x = error; //break here for debugging.
}
});
};
私はdoPost
を使用すると、私はいつもグラム:
私は自分のページに次のJavaScriptを持っていますサーバーから戻ってきた。400 Bad Request
。一方、submitForm
は正常に動作しますが、サーバーに送信されるデータにmySubItems
を含める方法がわかりません。
この中で最も速い方法は何ですか?
'URLチェックアウト:あなたはtestItemに次を追加してすることができるかもしれない '@のUrl.Action( "作成"、 "テスト")'、'。これは確実に機能しますか? –
はい、URLはOKです – marin