通过AJAX从PHP发回多个结果


Sending back multiple results from PHP via AJAX

我已经设置了一些ajax,我现在正在测试它,它背后的想法基本上是将一些数据从下拉框发送到php脚本,进行一些计算,然后返回结果,它做得很好并返回结果,但现在我不想只发送回一个结果并输出它,我想发送回多个结果并将其输出,我能够向php脚本发送多个数据,所以我确信我可以发回多个数据。

不管怎样,它只发送第一个结果,而不是其他的

这是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>   

这是php脚本

    <?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));
 ?>

你可以看到,我已经尝试过尝试我认为可能有效的代码,如果你需要任何其他代码,或者希望我删除我添加的不起作用的代码,请告诉我。

感谢所有帮助

您只会收到一个响应对象:

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

试试这个。我认为这会有所帮助。如果你只使用成功案例,就不需要使用状态码

 $.ajax({
        type: "GET",
        url: "script.php",
        data: { meter_square: meter_square, story_height: story_height },
        dataType: "json",
        success: function(data){
            $("#expected_gain").html(data.value);
            $("#house_price").html(data.value2);
        }
    });