benhowdle89
benhowdle89

Reputation: 37464

multiple return values from PHP with jQuery AJAX

I'm using this jQuery code:

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

How can i do something like this: $(".projDesc").html(html1); So i can split the returned results into two html elements?

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

thats the PHP i'm using and i want to echo another statement which i can put into another HTML element

Does this make sense?

Upvotes: 27

Views: 79173

Answers (4)

Safeer Ahmed
Safeer Ahmed

Reputation: 625

You can use a separator and join the values like this in your response

echo $value1.'|'.$value2;

Now you can use JavaScript method split("|") as below:

var myarray = response.split("|");
var value_1 = myarray[0];
var value_2 = myarray[1];

Upvotes: 0

Jake N
Jake N

Reputation: 10583

Make your response return JSON, you'll need to change your jQuery to this, so the expected dataType is json:

$.ajax
({
    type: "POST",
    url: "customerfilter.php",
    dataType: 'json',
    cache: false,
    success: function(data)
    {
        $(".custName").html(data.message1);
        $(".custName2").html(data.message2);
    }
});

Then you need to encode your response as a JSON Array:

 <?php echo json_encode(
      array("message1" => "Hi", 
      "message2" => "Something else")
 ) ?>

Upvotes: 50

Klemen Slavič
Klemen Slavič

Reputation: 19841

Use json_encode() to convert an associative array from PHP into JSON and use $.getJSON(), which will return a Javascript array.

Example:

<?php echo json_encode(array("a" => "valueA", "b" => "valueB")); ?>

In Javascript:

$.getJSON("myscript.php", function(data) {
  alert("Value for 'a': " + data.a + "\nValue for 'b': " + data.b);
});

Upvotes: 59

Thariama
Thariama

Reputation: 50832

Why don't you return a JSON object. This way you can easily put many different results inside the ajax response.

Upvotes: 3

Related Questions