ASP.Net 从 ajax 到控制器的核心发布列表
ASP.Net Core posting list from ajax to controller
我可以从 ajax 向控制器发送单个复杂类型,但无法传递列表,总是出现空值。 *** 代码已更新以显示成功通过。
public class EntityAliasTest
{
public int IDTEMP1 { get; set; }
public string NAMETEMP1 { get; set; }
}
[HttpPost]
public IActionResult SaveEntityAliases([FromBody]
List<EntityAliasTest> postData)
{
var es = ModelState.SerializeErrors();
return Json(new[] { postData, es });
}
var aliasList = new Array();
var o = { IDTEMP1 : 0, NAMETEMP1: 'test 0' };
aliasList.push(o);
o = { IDTEMP1 : 1, NAMETEMP1: 'test 1' };
aliasList.push(o);
o = { IDTEMP1 : 2, NAMETEMP1: 'test 2' };
aliasList.push(o);
var postData= JSON.stringify(aliasList);
$.ajax({
url: "DataAdministration/EntityAlias/SaveEntityAliases",
type: "POST",
cache: false,
dataType: "json",
contentType: "application/json; charset=utf-8",
data: postData,
}).done(function (data) {
根据您的 ajax 调用,您正在发送一个包含列表的对象。所以你的控制器也需要一个具有这种结构的对象。
而不是这个:
var data = { postData: aliasList };
var data2send = JSON.stringify(数据);
你可以试试:
var data2send = JSON.stringify(aliasList);
您可以使用在线 json 验证程序来检查您是否传递了有效的 json 数据。您可以参考下面的link。
希望对您有所帮助。
我可以从 ajax 向控制器发送单个复杂类型,但无法传递列表,总是出现空值。 *** 代码已更新以显示成功通过。
public class EntityAliasTest
{
public int IDTEMP1 { get; set; }
public string NAMETEMP1 { get; set; }
}
[HttpPost]
public IActionResult SaveEntityAliases([FromBody]
List<EntityAliasTest> postData)
{
var es = ModelState.SerializeErrors();
return Json(new[] { postData, es });
}
var aliasList = new Array();
var o = { IDTEMP1 : 0, NAMETEMP1: 'test 0' };
aliasList.push(o);
o = { IDTEMP1 : 1, NAMETEMP1: 'test 1' };
aliasList.push(o);
o = { IDTEMP1 : 2, NAMETEMP1: 'test 2' };
aliasList.push(o);
var postData= JSON.stringify(aliasList);
$.ajax({
url: "DataAdministration/EntityAlias/SaveEntityAliases",
type: "POST",
cache: false,
dataType: "json",
contentType: "application/json; charset=utf-8",
data: postData,
}).done(function (data) {
根据您的 ajax 调用,您正在发送一个包含列表的对象。所以你的控制器也需要一个具有这种结构的对象。
而不是这个: var data = { postData: aliasList }; var data2send = JSON.stringify(数据);
你可以试试: var data2send = JSON.stringify(aliasList);
您可以使用在线 json 验证程序来检查您是否传递了有效的 json 数据。您可以参考下面的link。
希望对您有所帮助。