Javascript 如何将JSON对象从ajax传递到ASP.net页面
我有以下代码通过POST将JSON对象发送到MVC控制器,我不知道为什么它不工作,有什么建议吗 JS 模型 任务Javascript 如何将JSON对象从ajax传递到ASP.net页面,javascript,c#,json,asp.net-core,Javascript,C#,Json,Asp.net Core,我有以下代码通过POST将JSON对象发送到MVC控制器,我不知道为什么它不工作,有什么建议吗 JS 模型 任务 [HttpPost(“更新”)] 公共异步任务更新(IList项) {...} 任务运行,但JSON对象从未反序列化到模型,我总是得到计数为0的项。您必须更改代码数据:{“项”:JSON.stringify(项)},因为您必须发送Post数据名 然后将代码更改为此代码 function Update() { var objects = $(".Classes
[HttpPost(“更新”)]
公共异步任务更新(IList项)
{...}
任务运行,但JSON对象从未反序列化到模型,我总是得到计数为0的项。您必须更改代码
数据:{“项”:JSON.stringify(项)}
,因为您必须发送Post数据名
然后将代码更改为此代码
function Update()
{
var objects = $(".Classes");
items = [];
objects.each(function () {
items .push({
"Id": $(this).find(".input").attr('id'),
"Value": $(this).find(".input2").val()
});
});
$.ajax({
type: "POST",
url: "/A/Update",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
data:{"items":JSON.stringify(items)},
contentType: "application/json",
dataType: "json",
success: function (response) {
}
});
}
唯一的更改是使用
[FromBody]
让模型绑定系统从请求主体读取post数据并绑定到您的对象:
public async Task<JsonResult> Update([FromBody]IList<Update> items)
公共异步任务更新([FromBody]IList项)
也许这有帮助
[HttpPost("Update")]
public async Task<JsonResult> Update(IList <Update> items)
{...}
function Update()
{
var objects = $(".Classes");
items = [];
objects.each(function () {
items .push({
"Id": $(this).find(".input").attr('id'),
"Value": $(this).find(".input2").val()
});
});
$.ajax({
type: "POST",
url: "/A/Update",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
data:{"items":JSON.stringify(items)},
contentType: "application/json",
dataType: "json",
success: function (response) {
}
});
}
public async Task<JsonResult> Update([FromBody]IList<Update> items)