Передача POST запросом массива из PHP
Добрый день.
Задача такая - из ПХП получаю массив и необходимо его передать POST запросом через jquery, использую json. <script type="text/javascript" src="jquery-1.3.1.min.js"></script> <script type="text/javascript" src="jquery.json-1.3.js"></script> <script type="text/javascript"> $(function() { $("#myForm").submit(function() { var formData = { "id_next_page":$("#next_page").val() }; var post_masiv = '<?=$array_data;?>'; $.ajax({ url:'process_posting.php' , type:'POST' , data:'id_next_page=' + formData+'&post_masiv='+JSON.stringify(post_masiv) , success: function(res) { alert(res); } }); return false; }); }); </script> Получаю данные так $data = json_decode($_REQUEST['post_masiv']); Передаётся как-то бред, подскажите, что я делаю не так и как надо написать, чтобы правильно передавался массив их ПХП? Массив может быть как обычным так и ассоциативным. |
Цитата:
|
Цитата:
|
Цитата:
1) Подумай над: '<?=json_encode($array_data);?>' и без JSON.stringify. 2) data:'id_next_page=' + formData подразумевается что formData - строка, а выше вижу что объект. будет преобразование, но не совсем в царевну. |
Да, Вы правы, передаю бред.
Последовал советам micscr, результат получаю такого вида [\"11\",\"12\",\"15"]. Если обработать функцией полученные данные "json_decode" вообще пустое значение становиться. Как получить данные в нормальном виде теперь, после их передачи? Я так понял, что многомерные массивы не передаёт, пробовал супер глобальный массив передать POST(полученный от предыдущей формы) - не передал, но получается передать отдельные элементы типа POST[''mas1']. |
strip_slashes строке надо сделать, видимо.
А вообще странная хрень какая-то. Из PHP в JavaScript, чтобы он передал в PHP. Тренируетесь чтоли? |
Анализируй:
$x = array('xxx'=> array('ttt' => 3, 'kkk' => 4 ), 'yyy' => 123); echo '<pre>' . print_r($x, true) . '</pre>'; $s = json_encode($x); echo $s; echo '<pre>' . print_r(json_decode($s, true), true) . '</pre>'; |
Часовой пояс GMT +3, время: 13:10. |