web-dev-qa-db-ja.com

PHP with jQuery AJAXからの複数の戻り値

私はこのjQueryコードを使用しています:

_$.ajax
({
    type: "POST",
    url: "customerfilter.php",
    data: dataString,
    cache: false,
    success: function(html)
    {
        $(".custName").html(html);
    }
});
_

どうすればこのようなことができますか:$(".projDesc").html(html1);したがって、返された結果を2つのhtml要素に分割できますか?

_echo "<p>" .$row['cust_name']. "</p>";
_

thats PHP私は使用しているので、別のHTML要素に挿入できる別のステートメントをエコーし​​たい

これは理にかなっていますか?

27
benhowdle89

json_encode()を使用して、連想配列をPHPからJSONに変換し、Javascript配列を返す$.getJSON()を使用します。

例:

<?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);
});
59
Klemen Slavič

応答が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")
 ) ?>
46
Jake N

[〜#〜] json [〜#〜] オブジェクトを返さないのはなぜですか。このようにして、多くの異なる結果を簡単にajaxレスポンスに入れることができます。

3
Thariama