Я хочу иметь что-то вроде небольшой поисковой системы для раздела часто задаваемых вопросов на моем веб-сайте. Все, что он делает, - это ищет термин в SLQ_DB при нажатии кнопки.
Я хочу вывести вопрос и ответы в двух отдельных блоках. Поэтому у меня есть $ data и $ data1, которые принадлежат div.
$('input#name-submit').on('click',function()
{
var name = $('input#name').val();
//alert(name);
if ($.trim(name) != "")
{
$.post('ajax/name.php',{name:name},function(data, data1)
{
$('div#name-data').html(data);
alert(answer);
$('div#name-data1').html(data1);
});
}
});
Но когда я нажимаю Enter, второй div показывает «успех». Но в первом есть data и data1. Когда я записываю функцию (data1, data) в файл js, data1 содержит всю информацию, а данные просто «успешно».
Что тут происходит?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Функция echo в PHP выводит содержимое переменной в тело ответа. Это тело представляет собой «строку», которую получает ваше веб-приложение.
Допустим, у вас есть такой код:
<?php
$var1 = "hello";
$var2 = "world";
echo $var1;
echo $var2;
?>
В результате тело ответа будет выглядеть так: helloworld.
Теперь предположим, что это ваш JS-код:
$.post('ajax/name.php',{name:name},function(data) {
console.info(data); // "helloworld"
});
jQuery передаст тело ответа переменной данных, которая теперь содержит heloworld.
Вам нужно как-то разделить отдельные переменные внутри тела ответа, например используя JSON.
Первый шаг - закодировать данные на сервере, это очень просто:
<?php
echo json_encode(["var1"=>$var1, "var2"=>$var2]);
?>
В результате будет создано тело ответа следующего вида: {"var1":"hello","var2":"world"}.
Следующим логическим шагом будет декодирование этого JSON с помощью JavaScript:
$.post('ajax/name.php',{name:name},function(data) {
var res = JSON.parse(data);
console.info(res.var1); // "hello"
console.info(res.var2); // "world"
});
верните строку json из вашего php, а затем проанализируйте эту строку в javascript. Несомненно, на этом сайте есть сотни уже существующих страниц, которые описывают, как это сделать.