Передача массива значений в ajax

novadesign

Новичок
Передача массива значений в ajax

Возникла проблема следующего характера, необходимо передать массив значений скрипту через ajax для обработки. Делаю я это сделующим образом:

var url="a[]=1&a[]=64&a[]=13";

ну и дальше передача остальных параметров.

Метод передачи используется POST

При обработке массива $_POST в PHP появляется массив $a, но он пуст.

В чем может быть проблема?
 

Loki-Di

Новичок
novadesign, для аякса используется какая-нибудь библиотека?
через $_REQUEST['a'] пробовали смотреть?
 

novadesign

Новичок
Модуль я использую sarissa

//Сбор данных формы
function getdata(obj){
var obj=obj.elements;
var elemcount=obj.length;
var url="";
for (i=0;i<elemcount;i++){
switch (obj.type){
case "checkbox":
if (obj.checked){
url+="&"+obj.name+"="+obj.value;
}
break;
case "radio":
if (obj.checked){
url+="&"+obj.name+"="+obj.value;
}
break;
default:
url+="&"+obj.name+"="+obj.value;
}
}
return url;
}

//функция вызова Ajax

function CallAjax(xmlhttp,param){
xmlhttp.open('POST', 'ajax/ajaxaction.php', true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=windows-1251');
xmlhttp.setRequestHeader('Accept-Charset', 'windows-1251');
xmlhttp.setRequestHeader('Accept-Language', 'ru');
xmlhttp.send(param);
return xmlhttp;
}

Сам обработчик я упускаю, в нем вобщем то ничего интересного нет.

Чекбоксы в форме, с которой собираются данные называются a[], их 8 штук.

Конечно же перед вызовом AJAX я проверил передаются ли правильно значения.

в PHP я сделал следующее:

while (list($key,value)=each($_POST)){
$xml.='<msg>'.$key.': '.$value.'</msg>'."\n";
}

При этом, когда обход добирается до a[] выводится текст, что Arrray, но если воспользоваться ф-цией is_array, она возвращает значение false, а count($_POST["a"]) возвращает в любом случае 1

Автор оригинала: Loki-Di
novadesign, для аякса используется какая-нибудь библиотека?
через $_REQUEST['a'] пробовали смотреть?
-~{}~ 06.04.07 12:08:

А теперь самое странное, запустил тот же код домена. Версия PHP 4.4.6 и он заработал. На работе стоит 5-ая ветка PHP.

В чем может быть различие, я не слышал, чтоб в объявлении массивов была какая то разница?
 

Апокалипсис

тех дир matras.ru
novadesign
Советую использовать более популярные библиотеки типа:
http://dklab.ru/lib/JsHttpRequest/
 
Сверху