Передача массивов при вызове ajax с использованием jQuery 1.4

Следующий код работает для меня с использованием jQuery 1.2.6, но вызывает ошибку брокера в версии 1.4.

var items = new Array();
items[0] = "Item 1";
items[1] = "Item 2";
items[2] = "Item 3";

var dataToSend = {'_service' : myService, '_program' : myProgram, 'selections' : items} ;

$.ajax({    
 type: "post",
 url: myURL,
 dataType: "text",
 data: dataToSend,
 success: function(request) {$('#results').html(request); } // End success
}); // End ajax method

Ошибка брокера, которую я получаю, указывает, что то, что передается в выборе, это "выборы [] '

ОШИБКА: (Недопустимый символ "[" в имени поля "выборы []". Этот символ недопустим в именах полей.)

Было ли изменение в том, как jQuery обрабатывает массивы при вызове ajax? или это неверный способ передать массив?

Любая помощь будет оценена.

EDIT: Ответ от @jvenema решил мою проблему. С помощью "традиционной" настройки вы можете заставить jQuery обрабатывать параметры, подобные предыдущей. Вот некоторые дополнительные ссылки, которые говорят об изменении jQuery.ajax(), jQuery.param() и сообщение в блоге jQuery 1.4 $.param demystified.

Либо общая формулировка

jQuery.ajaxSettings.traditional = true;

или в качестве дополнительной опции в вызове ajax

$.ajax({    
 traditional: true,
 type: "post",
 url: myURL,
 dataType: "text",
 data: dataToSend,
 success: function(request) {
   $('#results').html(request);
 }  // End success
}); // End ajax method

Ответ 1

jQuery 1.4 был обновлен, чтобы использовать синтаксис PHP для отправки массивов. Вы можете переключить его в старый стиль, используя:

jQuery.ajaxSetting.traditional = true;

Подробнее см. здесь.

Ответ 2

Вы можете указать массив как массив Json.

'selections' : {items : ['Item 1', 'Item 2', 'Item 3']}

Я думаю, что это тоже сработает.

'selections' : {items : items}

Посмотрите здесь для добавления ресурса.