@alexwprof

Как вернуть запрос обратно и поместить в переменную AJAX?

Есть страница index.php. Отправляю с неё запрос ajax на обработчик, test.php. Запрос выглядит следующим образом
$(function(){
        $('.home-calc__form').submit(function(e){

            e.preventDefault();
            var m_method=$(this).attr('method');

            var m_action=$(this).attr('action');

            var m_data=$(this).serialize();
            $.ajax({
                type: m_method,
                url: m_action,
                data: m_data,
                beforeSend: function(){
                    $('#add').html('Запрос обрабатывается');
                },
                success: function(result){
                    $('#add').html(result);
                }
            });
        });
    });

В обработчике php пакую данные в json

<?php
if(isset($_GET)){
    $js_obj = json_encode($_GET);
    print_r($js_obj);
}
else{
    echo 0;
}

?>

Всё благополучно приходит обратно и выводится в html, но мне нужно поместить результат в переменную и подставить в некоторые места значения переменной. В index.php переменная
$js_obj должна быть доступна, как это реализовать?
  • Вопрос задан
  • 917 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimastik1986
@dimastik1986
учусь
нужно json строку перевести в объект JSON.parse()
и например через jQuery - $('#id').html(obj[name]) заменить значение в нужном месте

я думаю вот это тоже окажется полезным - insertAdjacentHTML

пример
let user = '{ "name": "John", "age": 35, "isAdmin": false, "friends": [0,1,2,3] }';
user = JSON.parse(user);
alert( user.friends[1] );

spoiler
это
  • $('#add').html(result);

заменить на
  • let result = JSON.parse(result);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы