Вывод ответа ajax в блок html

Есть страница index.php с post запросом

<script>
    $.ajax({
    url: 'test.php',
    type: 'POST',
    dataType: 'json',
    data: {
        status: '1',
    },
    complete: function(responce){     
    $('#resp').load(responce);
    },
    })
</script>

Файл test.php принимает параметры пост запроса и выводит их

<?php 
echo $_POST['status'];

В зависимости от параметров запроса, test.php выполняет некоторые действия и нужно вывести выполненный test.php в index.php в div с id 'resp'. Но почему-то ответ test.php не выводится, хотя его видно в панели разработчика Google:

Скрин

Что я делаю не так?


Ответы (1 шт):

Автор решения: Алексей Шиманский

Метод load загружает данные аяксом сервера по указанному адресу. Например $( "#result" ).load( "test.php"); отправит запрос по адресу test.php, получит данные и вставит в элемент. А просто для отображения данных в элементе можно воспользоваться методом html, т.е. $('#resp').html(responce);

Также есть методы:

  • append
  • appendTo
  • prepend
  • prependTo
  • text

Также если используется complete, то там возвращается jqXHRи поэтому значение надо брать так: responce.responseText. Если не хочется с этим возиться или разбираться можно использовать для начала success вместо complete

→ Ссылка