2011-03-05 46 views
1

我是新學習jquery.ajax。我仍然有一些問題。如何從另一個頁面的div接收數據?我試圖做到這一點:打開a.php,發送html數據從div#發送到b.php,然後返回數據從b.php div#aa並顯示在a.php div#result,從b.php div#bb和顯示在一個.php div#text。謝謝。jQuery.ajax如何從另一個頁面的div接收數據

a.php只會

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script language="javascript"> 
$(document).ready(function() {  
var params = "value=" + $('#send').text(); 
$.ajax({   
    url:'b.php',   
    type:'post',     
    dataType:'html',    
    data:params,    
    success:data  
    }); 
function data (html) { 
$("#result").html('#aa'); 
$("#text").html('#bb'); 
} 
}); 
</script> 
<body> 
<div id="result"></div>// I need return 'this is an apple.' 
<div id="text"></div>//I need return 'A red apple'. 
<div id="send">apple</div> 

b.php

<?php 
echo '<div id="aa">'; 
echo 'This is an '.$_REQUEST['value'].'.'; 
echo '</div>'; 
echo '<div id="bb">'; 
echo 'A red '.$_REQUEST['value'].'.'; 
echo '</div>'; 
?> 
+0

你是專門試圖從外部網站讀取信息,還是試圖在自己的網站上實現AJAX處理程序? – cusimar9 2011-03-05 15:28:25

+0

@ cusimar9,是的,我嘗試在我自己的網站。無論如何避免其他人使用我的過程代碼? – 2011-03-05 16:03:51

回答

1

你需要把響應字符串轉換成DOM元素,選擇這些元素,並在您想要添加他們。

function data (html) { 
    var $html = $(html);    // create DOM elements in a jQuery object 

    $html.filter('#aa').appendTo("#result"); // filter out the '#aa' element and 
              // append it to '#result' 

    $html.filter('#bb').appendTo("#text"); // filter out the '#bb' element and 
              // append it to '#text' 
} 

我用filter()[docs]方法,因爲你所定位的要素似乎是在HTML響應的最高級別。

如果它們嵌套得更深,則可以使用find()[docs]方法。

相關問題