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 :: Ajax запрос - как получить структурированный ответ от скрипта

 PHP.SU

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


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

> Без описания
shurik_7866
Отправлено: 04 Января, 2016 - 19:40:36
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2015  


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




В примерах которые я нашел в интернете, если нужно в страницу с которой был ajax запрос передать данные, используется конструкция echo с помощью которой формируется текст ответа.

ajax запрос
CODE (javascript):
скопировать код в буфер обмена
  1. var val = 1234567;
  2. $.ajax({
  3.         method: "GET",
  4.         url: "simple.php",
  5.         data: {"param1": val},
  6.         async: false,
  7.         success: function(data){
  8.                 alert(data);
  9.         }
  10. });


simple.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $p1 = $_GET["param1"];
  3. ......
  4. echo "тра-та-та";
  5. echo "ля-ля-ля";
  6. echo "и так далее";
  7. ...
  8. ?>


Вопрос: можно ли в ajax запросе получить от php скрипта структурированный ответ?

Например: как при перенаправлении на конкретную страницу используя функцию header
header('Location: http://localhost/siple.html?error_code=1&msg1=тра-та-та&msg2=ля-ля-ля&msg3=');
При этом формируется при этом передаюися значения конкретных переменных
 
 Top
DelphinPRO
Отправлено: 04 Января, 2016 - 21:09:33
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




В параметры запроса добавьте


и возвращайте json данные

PHP:
скопировать код в буфер обмена
  1. $response = array(
  2.     "key1": "тра-та-та",
  3.     "key2": "ля-ля-ля",
  4.     "key3": "и так далее",
  5. );
  6.  
  7. echo json_encode($response);

(Добавление)
Соответственно в коллбеке будет

CODE (javascript):
скопировать код в буфер обмена
  1. success: function(data){
  2.                 alert(data.key1);
  3.                 alert(data.key2);
  4.                 alert(data.key3);
  5.         }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
shurik_7866
Отправлено: 05 Января, 2016 - 14:35:08
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2015  


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




Спасибо пользователю DelphinPRO, работает

только масив в PHP чуть по другому
PHP:
скопировать код в буфер обмена
  1. $response = array(
  2.     "key1"=> "тра-та-та",
  3.     "key2"=> "ля-ля-ля",
  4.     "key3"=> "и так далее"
  5. );

(Отредактировано автором: 05 Января, 2016 - 14:37:44)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB