Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.11.2010, 15:36
Новичок на форуме
Отправить личное сообщение для alex_zp Посмотреть профиль Найти все сообщения от alex_zp
 
Регистрация: 15.11.2010
Сообщений: 3

Передача 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']);

Передаётся как-то бред, подскажите, что я делаю не так и как надо написать, чтобы правильно передавался массив их ПХП? Массив может быть как обычным так и ассоциативным.
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2010, 15:41
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от alex_zp
var post_masiv = '<?=$array_data;?>'; 
чему равно $array_data при генерации страницы?
Ответить с цитированием
  #3 (permalink)  
Старый 15.11.2010, 15:47
Новичок на форуме
Отправить личное сообщение для alex_zp Посмотреть профиль Найти все сообщения от alex_zp
 
Регистрация: 15.11.2010
Сообщений: 3

Сообщение от Gvozd Посмотреть сообщение
чему равно $array_data при генерации страницы?
это передаваемый массив POST с другой формы.
Ответить с цитированием
  #4 (permalink)  
Старый 15.11.2010, 15:52
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

Сообщение от alex_zp
Передаётся как-то бред
так неверно говорить. Типа как будто ты не причем. Правильно говорить: передаю какой то бред.

1) Подумай над: '<?=json_encode($array_data);?>' и без JSON.stringify.
2)
data:'id_next_page=' + formData

подразумевается что formData - строка, а выше вижу что объект. будет преобразование, но не совсем в царевну.
Ответить с цитированием
  #5 (permalink)  
Старый 15.11.2010, 16:18
Новичок на форуме
Отправить личное сообщение для alex_zp Посмотреть профиль Найти все сообщения от alex_zp
 
Регистрация: 15.11.2010
Сообщений: 3

Да, Вы правы, передаю бред.
Последовал советам micscr, результат получаю такого вида [\"11\",\"12\",\"15"]. Если обработать функцией полученные данные "json_decode" вообще пустое значение становиться. Как получить данные в нормальном виде теперь, после их передачи? Я так понял, что многомерные массивы не передаёт, пробовал супер глобальный массив передать POST(полученный от предыдущей формы) - не передал, но получается передать отдельные элементы типа POST[''mas1'].
Ответить с цитированием
  #6 (permalink)  
Старый 15.11.2010, 22:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

strip_slashes строке надо сделать, видимо.

А вообще странная хрень какая-то. Из PHP в JavaScript, чтобы он передал в PHP. Тренируетесь чтоли?
Ответить с цитированием
  #7 (permalink)  
Старый 16.11.2010, 08:16
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

Анализируй:
$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>';
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива из Php в Javascript kamushek Серверные языки и технологии 45 20.02.2012 11:11
передача переменной из jQuery в PHP UpJump jQuery 3 03.11.2010 12:14
передача массива из PHP в javascript simple Общие вопросы Javascript 3 03.10.2010 12:19
Передача переменной из JS в PHP методом ajax skalka jQuery 7 28.08.2010 12:05
есть ли стандартная функция вывода сожержимого массива что то вроди print_r в PHP??? mazovski Events/DOM/Window 4 20.08.2009 12:52