Вывод ответа 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
