Передать обычный массив (с помощью ajax)
Доброго времени суток.
Возникла потребность передать обычный массив с помощью AJAX. var personal_set = [1,3,2]; personal_set.push(value); // перед отправкой элементы добавляются только таким методом personal_set.splice(jQuery.inArray(value, personal_set), 1); // а удаляются - таким. Это происходит в зависимости от действий пользователя. // в конце концов, остается одномерный массив alert(personal_set); // вернет что-то вроде "1,3,2,14" $.ajax({ // отправляем данные url: 'path/to/php_script', type: 'post', data: {personal_set: personal_set} }); PHP-скрипт выводит данные вот так: var_dump($_POST); Результат: array(1) { ["personal_set"]=> array(4) { [0]=> string(1) "1" [1]=> string(1) "3" [2]=> string(1) "2" [3]=> array(1) { [0]=> string(2) "14" // обратите внимание на этот элемент } } } Элементы, содержащиеся в массиве изначально - ОК. Элементы, добавленные push-ем - добавляются в виде одноэлементных массивов. Почему так происходит и как с этим бороться? UPDATE: в очередной раз, стоит написать на форум, проблема решается. Решение: personal_set.push(parseInt(value, 10)); |
Часовой пояс GMT +3, время: 19:19. |