Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: передача массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: передача массива
furious
Отправлено: 15 Ноября, 2013 - 10:04:26
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2013  


Помог: 0 раз(а)




Доброе утро. Возникла проблема при передачи массива с js в php. Есть 4 страницы - index.php, app.js, test.php, fun.php. Все они находятся в разных папках. В test.php через через ajax в fun.php отправляется переменная -
PHP:
скопировать код в буфер обмена
  1.  
  2. $a = array('test', 'test1');
  3. <script>
  4. $(document).ready(function(){
  5. var aTest= '<? echo json_encode($a);?>';
  6. $.ajax({
  7.                         url:'/data/fun/funTest',
  8.                         type:'post',
  9.                         dataType:'json',
  10.                         data:{
  11.                            aTest   :   aTest
  12.                         }
  13.                     });
  14. });
  15. </script>
  16.  


в fun.php есть функция которая просто делает var_dump принимаемой переменной
PHP:
скопировать код в буфер обмена
  1.  
  2. function funTest(){
  3.     var_dump(json_decode($_POST['aTest']));
  4. }
  5.  


И если обновить страницу с test.php то все ок. В консоле при запросе появляется массив.

в app.js при нажатии кнопки которая находится в index.php через ajax вызывается та же функция funTest с файла fun.php
Но там этот масив уже NULL.

Как можно передать массив так, что бы он на других страницах возвращался не пустой?
 
 Top
caballero
Отправлено: 15 Ноября, 2013 - 12:14:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
через ajax вызывается та же функция funTest с файла fun.php

Из браузера ( в том числе и аяксом) нельзя вызвать функцию PHP. Можно только обратится к файлу.
наведите порядок в своих мыслях.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
furious
Отправлено: 15 Ноября, 2013 - 12:38:40
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2013  


Помог: 0 раз(а)




caballero пишет:
Цитата:
через ajax вызывается та же функция funTest с файла fun.php

Из браузера ( в том числе и аяксом) нельзя вызвать функцию PHP. Можно только обратится к файлу.
наведите порядок в своих мыслях.


как это нельзя? я же обращаюсь как раз к функции и смотрю на результат который она мне возвращает. Просто на других страницах нулл.
 
 Top
Deonis
Отправлено: 15 Ноября, 2013 - 13:24:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




Как-то у вас всё запутано.
1. К функции вы всё-таки не обращаетесь. Она отрабатывает на странице, к которой идет ajax-запрос.
2. Разберем ваш путь '/data/fun/funTest'. Или же у вас на сервере присутствует физически директории по данному пути и в папке funTest есть файл index.php, или же вы используете mod_rewrite и запрос переадресовывается на handler. Где истина?
3. Могу попробовать протелепатировать и предположить, что js-код который вы показали выше, прописан в самом файле test.php. Если это так, то вынесите его в отдельный файл.js, подключите ко всем страницам, где он нужен, "запакуйте" в функцию и отлавливая необходимые события, вызывайте ее, передавая параметры.

(Отредактировано автором: 15 Ноября, 2013 - 13:27:21)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB