是否可以将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
}
答案 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);
});