Довольно поздно, но другой ответ на те, что уже присутствуют здесь:
Если вместо $.ajax
вы хотите использовать сокращенные функции $.get
или $.post
, вы можете передавать массивы следующим образом:
Сокращение GET
var array = [1, 2, 3, 4, 5];
$.get('/controller/MyAction', $.param({ data: array }, true), function(data) {});
// Action Method
public void MyAction(List<int> data)
{
// do stuff here
}
Сокращение POST
var array = [1, 2, 3, 4, 5];
$.post('/controller/MyAction', $.param({ data: array }, true), function(data) {});
// Action Method
[HttpPost]
public void MyAction(List<int> data)
{
// do stuff here
}
Примечания:
- Логический параметр в
$.param
предназначен для свойства traditional
, , которое ДОЛЖНО быть true
, чтобыработа .