是否可以将ajax响应分发给多个div?

时间:2014-10-01 13:39:18

标签: javascript jquery html ajax

是否可以将jQuery ajax响应转换为多个DIV?

我想在不同的DIV中分发回复。

HTML

<div id="postrequest1"></div>
<div id="postrequest2"></div>

JQ

$(document).ready(function() { 
    $("#loaddata").click(function(){
        $.post("php/test2.php",
            { name:$("#txtinput").val(), 
            location:$("#txtlocation").val() },
            function(response) {
                $("#postrequest").html(response);
            });
    });
});

PH:​​

$post_name=$_POST["name"];
$post_location=$_POST["location"]; 

if( $post_name && $post_location){
    echo "Name: ". $post_name; // this should be displayed in postrequest1
    echo "Location: " .$post_location; // this should be displayed in postrequest2
}

1 个答案:

答案 0 :(得分:5)

如果您将PHP脚本更改为输出JSON,则可以在javascript中解析它并将其放在正确的位置。

在php脚本中试试这个:

$post_name=$_POST["name"];
$post_location=$_POST["location"]; 

if( $post_name && $post_location){
   $data = array();
   $data['name'] = $post_name;
   $data['location'] = $post_location;
   echo json_encode($data);
}

它将输出如下内容:

{'name': 'Fergoso', 'location': 'North Pole'}

然后在您的javascript中,您需要解析响应,然后您可以将其用作javascript中的对象:

function(response) {
    var data = JSON.parse(response);
    $("#postrequest1").html(data.name);
    $("#postrequest2").html(data.location);
});