【发布时间】:2021-09-05 09:06:51
【问题描述】:
我试图通过jQuery Ajax 将对象数组传递给控制器,但结果是ASP.NET 5.0 中的null。
我的数据数组发送到controller: regions。
数据构造函数在BoundingBoxModel 类中定义。
这是我的ajax 函数:
$("body").on("click", "#onClick", function () {
var regions = [];
var arr = Array.prototype.slice.call(document.getElementsByClassName('ui-draggable'));
arr.forEach((tagele) => {
var region = {};
region.Height = tagele.offsetHeight;
region.Width = tagele.offsetWidth;
region.Top = tagele.offsetTop;
region.Left = tagele.offsetLeft;
regions.push(region);
});
$.ajax({
url: '/GenCode/Addregions',
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
data: JSON.stringify({'regions': regions}),
success: function () {
alert("pass")
},
error: function (jqXhr, json, errorThrown) {
alert(errorThrown);
console.log(errorThrown);
}
});
});
这是我的 BoundingBoxModel:
public class BoundingBoxModel
{
public int BoundingBoxId { get; set; }
public double Top { get; set; }
public double Left { get; set; }
public double Height { get; set; }
public double Width { get; set; }
}
这是我的行动方法。它在GenCodeController 中定义。
[HttpPost]
public IActionResult AddRegions(List<BoundingBoxModel> regions)
{
JsonResult result = new JsonResult(this.Json(JsonConvert.SerializeObject(regions), System.Web.Mvc.JsonRequestBehavior.AllowGet));
return result;
}
我的结果为空:
我不明白为什么会这样。你能帮帮我吗?
【问题讨论】:
-
你正在发送一个对象,你应该发送一个数组吗?
标签: javascript jquery asp.net json ajax