// something defined deleteArr and pass values to it
var postData = { deleteArr: deleteArr };
if(deleteArr.length > 0)
{
$.ajax({
url: "@Url.Action("Delete", "ASZ01")",
type: "POST",
data: postData,
contentType: "application/json; charset=utf-8",
success: function (response) {
alert("success.");
},
error: function (response) {
alert(deleteArr[0]);
}
});
deleteArr.length = 0;
}
上面的代码是javascript。 在$ .ajax开始之前,我可以确认数组中的值在即时窗口中是正确的,但是当出现错误时:我得到了#34; undefined"。 以下是我在控制器中的功能
public void Delete(List<string> deleteArr)
{
service.Delete(deleteArr);
}
第二个问题是我在该功能上设置了断点,但它无法停止。 我想也许我的ajax形式错了?
答案 0 :(得分:0)
字符串化为JSON
,添加dataType: 'json'
,然后传递并更正""
var postData = JSON.stringify({ deleteArr: deleteArr });
if(deleteArr.length > 0)
{
$.ajax({
url: @Url.Action("Delete", "ASZ01"),
type: "POST",
data: postData,
dataType: 'json'
contentType: "application/json; charset=utf-8",
success: function (response) {
alert("success.");
},
error: function (response) {
alert(deleteArr[0]);
}
});
deleteArr.length = 0;
}
答案 1 :(得分:0)
对postData
var postData = { deleteArr: JSON.stringify(deleteArr) };
想法是将您的数组数据转换为字符串格式,即:JSON并发布到服务器,MVC框架的默认模型绑定器将处理该部分,以便将它们转换为List<string>