Несколько возвращаемых значений из PHP с помощью jQuery AJAX
Я использую этот код jQuery:
$.ajax
({
type: "POST",
url: "customerfilter.php",
data: dataString,
cache: false,
success: function(html)
{
$(".custName").html(html);
}
});
Как я могу сделать что-то вроде этого: $(".projDesc").html(html1);
Итак, я могу разделить полученные результаты на два элемента html?
echo "<p>" .$row['cust_name']. "</p>";
thats PHP, который я использую, и я хочу повторить еще один оператор, который я могу поместить в другой элемент HTML
Это имеет смысл?
Ответы
Ответ 1
Используйте json_encode()
для преобразования ассоциативного массива из PHP в JSON и используйте $.getJSON()
, который вернет массив Javascript.
Пример:
<?php echo json_encode(array("a" => "valueA", "b" => "valueB")); ?>
В Javascript:
$.getJSON("myscript.php", function(data) {
alert("Value for 'a': " + data.a + "\nValue for 'b': " + data.b);
});
Ответ 2
Сделайте свой ответ возвратом JSON, вам нужно будет изменить jQuery на это, так что ожидаемый тип данных json:
$.ajax
({
type: "POST",
url: "customerfilter.php",
dataType: 'json',
cache: false,
success: function(data)
{
$(".custName").html(data.message1);
$(".custName2").html(data.message2);
}
});
Затем вам нужно закодировать свой ответ как массив JSON:
<?php echo json_encode(
array("message1" => "Hi",
"message2" => "Something else")
) ?>
Ответ 3
Почему бы вам не вернуть объект JSON. Таким образом, вы можете легко внести много разных результатов в ответ ajax.