jquery - 如何将 int 数组从 jquery ajax 传递到 asp.net mvc 操作

标签 jquery asp.net-mvc asp.net-ajax

我尝试了很多 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/

相关文章:

javascript - JS如何调用函数并从另一个文件传递参数

asp.net-mvc - ASP.Net Core MVC 中的 data-ajax-begin 脚本阻止重定向

asp.net-mvc - MVC Ajax 与 Ajax.ActionLink

asp.net-mvc - MVC 从数据库检索数据并将其显示在 View 中

asp.net-mvc - Linq2Sql 将记录插入相关表

Asp.net 页面管理

javascript - 在现有的ajax代码中添加图像上传功能

jquery - 延迟加载整个 DIV 而不是单个图像

JavaScript OnClick 选择标记在移动浏览器上不起作用

asp.net-mvc - 在 Asp.Net MVC View 中,不呈现 Controller 对模型所做的更改