2
我在我的ASP.NET核心代碼以下型號:發佈複雜的JSON到ASP.NET核心控制器
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);
}
我有以下的JavaScript在我的網頁:
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
,我總是g ^從服務器返回400 Bad Request
。另一方面submitForm
工作正常,但我不知道如何在發送到服務器的數據中包含mySubItems
。
什麼是最快的方法呢?
'網址: '@ Url.Action( 「創建」, 「測試」)','。你確定這有效嗎? –
是的,網址是好的 – marin