Функция echo
в PHP выводит содержимое переменной в тело ответа. Это тело является строкой, которую получает ваше веб-приложение.
Допустим, у вас есть такой код:
<?php
$var1 = "hello";
$var2 = "world";
echo $var1;
echo $var2;
?>
Полученное тело ответа будет выглядеть так: helloworld
.
Теперь предположим, что это ваш код JS:
$.post('ajax/name.php',{name:name},function(data) {
console.log(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.log(res.var1); // "hello"
console.log(res.var2); // "world"
});