PHP和jQuery AJAX的多个返回值

时间:2011-01-04 13:44:34

标签: php jquery ajax return-value

我正在使用这个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>";

那就是我正在使用的PHP,我想回应另一个我可以放入另一个HTML元素的语句

这有意义吗?

3 个答案:

答案 0 :(得分:59)

使用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);
});

答案 1 :(得分:46)

让你的响应返回JSON,你需要将你的jQuery更改为,所以预期的dataType是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")
 ) ?>

答案 2 :(得分:3)

为什么不返回JSON个对象。通过这种方式,您可以轻松地在ajax响应中添加许多不同的结果。