2014-10-01 57 views
-3

是否有可能讓jQuery的Ajax響應到多個DIV?是否可以將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

您可以將響應放在任意數量的div中。有什麼問題 ? – SSA 2014-10-01 13:43:04

+1

我認爲問題是將php輸出分成兩部分。 – 2014-10-01 13:46:37

+0

^^你說得對。 – SSA 2014-10-01 13:47:20

回答

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); 
}); 
+0

美麗!感謝那... – Fergoso 2014-10-01 13:56:25

相關問題