Kal*_*exx 5 javascript arrays asp.net-mvc
我正在尝试将一个jquery可排序项目列表发送到我的MVC方法进行数据处理.目前我正在尝试通过以下代码发送它:
var data = {};
data.projectId = projectId;
data.publishedSectionIds = $('#section_list').sortable('toArray');
// Perform the ajax
$.ajax({ url: '/Project/Publish',
type: 'POST',
data: data,
success: function (result) {
alert(result.message);
}
});
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是它使Post参数看起来像这样:
projectId=2&publishedSectionIds[]=1&publishedSectionIds[]=2
Run Code Online (Sandbox Code Playgroud)
这个问题(可以从这个问题的解决方案中看出)是,如果post参数没有括号,MVC似乎只序列化为List .
如何序列化javascript数组,以便我使用List<int>参数模型的操作正确绑定?
public ActionResult Publish(int projectId, List<int> publishedSectionIds)
Run Code Online (Sandbox Code Playgroud)
尝试添加以下选项传统:true
例如
$.ajax({ url: '/Project/Publish',
type: 'POST',
data: data,
traditional: true,
success: function (result) {
alert(result.message);
}
});
Run Code Online (Sandbox Code Playgroud)
看
从 jQuery 1.4 开始,$.param() 方法递归地序列化深层对象,以适应现代脚本语言和框架,例如 PHP 和 Ruby on Rails。您可以通过设置 jQuery.ajaxSettings.traditional = true; 全局禁用此功能。
http://api.jquery.com/jQuery.param/
| 归档时间: |
|
| 查看次数: |
2423 次 |
| 最近记录: |