Проблема с отправкой массива в метод действия - PullRequest
0 голосов
/ 25 января 2012

Я хочу отправить массив в мой метод действия:

var items = { 'myIdList[]': [] };

        $(':checkbox').change(function () {            
            $(":checked").each(function () {
                items['myIdList[]'].push($(this).val());
            });
            $('#locationsCheckList').submit();
        });

        $('#locationsCheckList').submit(function () {
            $.ajax({
                url: this.action,
                type: this.method,
                traditional: true,
                data: { "myIdList": items }...

Метод действия:

[HttpPost]
        public void GetLocations(int[] myIdList)...
Переменная

items имеет данные, но когда я передаю ее таким образом, я получаю значение NULL, но если я изменяю

data: { "myIdList": items }

с

data: { "myIdList": [1,2,3,4,5] }

это работает. Когда я отлаживаю в браузере переменную items, у меня есть значения:

0: "1"
1: "2"
2: "3"

Я не могу передать массив, и я не знаю почему, если он работает жестко?

Ответы [ 2 ]

1 голос
/ 25 января 2012

Что делать, если вы используете простой массив, подобный вашему примеру, который работает:

var items = [];
// your jQuery loop
items.push($(this).val());
// and so on
data: { "myIdList": items }...
0 голосов
/ 25 января 2012

Ваш AJAX-вызов должен включать:

dataType: "json",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...