Sending back multiple results from PHP via AJAX

ajax, javascript, jquery, json, php

Solution

You're only going to receive one response object:

function (response) {
    $("#expected_gain").html(response.value);
    $("#house_price").html(response.value2);
}

Problem

i have setup some ajax, which i am just testing now, pretty much the idea behind it is to send some data from dropdown boxes to a php script, do some calculations and then return the result, it does it well and returns the result, but now rather than just sending back one result and outputting that, i want to send back multiple results and output them, i am able to send multiple data to the php script, so i am sure i can send multiple back. Anyway it only sends the first result back and not the rest. Here is the AJAX ``` <script> $("document").ready(function (){ $(".add_extension").change(function(){ var m = document.getElementById('meter_square'); var meter_square = m.options[m.selectedIndex].value; var s = document.getElementById('story_height'); var story_height = s.options[s.selectedIndex].value; $.ajax({ type: "GET", url: "script.php", data: { meter_square: meter_square, story_height: story_height }, dataType: "json", statusCode: { 200: function (result, result2) { $("#expected_gain").html(result.value); $("#house_price").html(result2.value2); } } }); }) }); </script> ``` And here is the php script ``` <?php $meter_square = $_GET["meter_square"]; $story_height = $_GET["story_height"]; $result = $meter_square + $story_height; $result2 = $meter_square * $story_height; echo json_encode(array("value" => $result, "value2" => $result2)); ?> ``` You can see that i have already tried to give it a go from what i thought might work, if you need any other code or want me to remove the code i added which doesn't work, then let me know. Thanks for all and any help

Original source