За последние 24 часа нас посетили 19076 программистов и 1578 роботов. Сейчас ищут 1846 программистов ...

Ajax запрос - как получить структурированный ответ?

Тема в разделе "JavaScript и AJAX", создана пользователем shurik_shink, 4 янв 2016.

  1. shurik_shink

    shurik_shink Новичок

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

    ajax запрос
    Код (PHP):
    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=');
    При этом передаются значения конкретных переменных

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    да, возвращай json из php и его используй в javascript
     
  3. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Можно просто рисовать новый или перерисовывать имеющийся элемент.
    Возвращайте корректный ответ и помещайте содержимое в новый элемент или перерисовывайте имеющиеся элементы.
    И не пишите много echo. плохая привычка.
    echo- есть прототип передачи переменных как в функции, если Вам так будет понятнее.
    Код (PHP):
    1. $var1 = 1;
    2. $var2 = 'string';
    3. $p1 = isset($_GET["param1"]) ? $_GET['param1'] : ''; // php 7 - $_GET['param1'] ?? $_GET['param1'];
    4. echo $var1,
    5.  $var2,
    6.  'param1:',
    7.  $p1;
    А вообще, тут сначала азы подучите:
    Современный учебник JavaScript


    Модератор! Не засирай посты. Измените вы уже этот гребаный code, не позорьтесь :)
    пуcть уже [ code=php ][/ code ] Будет и напишите вы выше редактора крупно жирно красным правило и если не доходит уже до людей банить и удалять мусор. Чем больше ненужной информации вычистить тем будет лучше. А вы наоборот пополнение занимаетесь.