我尝试了很多 stackoverflow 帖子,但总是得到相同的结果。 传递的 int 数组始终为 null。
Pass array to mvc Action via AJAX
这里是接受 int id 数组的 asp.net mvc 操作。
[HttpPost]
public ActionResult Downloads(int[] ids){
return RedirectToAction("Exports", ids);
}
这是 ajax 调用,用于发送值。
var url = '@Url.Action("Downloads")';
var values = [1,2,3];
$.ajax({
url: url,
type: 'POST',
dataType: "json",
contentType: 'application/json; charset=utf-8',
traditional: true,
data: JSON.stringify({ids: values })
});
我不知道我做错了什么。
我已经像一个简单的数组一样传递了ajax的日期:data:values
或者没有stringify,但是asp.net mvc从不接受int数组。看起来ajax
对象的traditional
参数没有做任何事情。
最佳答案
如果您想使用传统编码发送值,那么您不应该对您发送的数据进行 JSON 编码。因此,删除 JSON.stringify()
调用以及 contentType
。试试这个:
$.ajax({
url: url,
type: 'POST',
dataType: "json",
traditional: true,
data: { ids: values }
});
关于jquery - 如何将 int 数组从 jquery ajax 传递到 asp.net mvc 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320381/