2010-12-04 86 views
0

我有一個頁面,用戶可以「查看更多信息」,一個ID發送到一個PHP頁面,然後查詢數據庫。然後它返回一些數據,其中一些數據我想把它放到textarea中,另一些數據放到標準div中。多個AJAX響應

如何發回多個回覆,以及如何知道數據是什麼?例如發送姓名和地址,我怎麼知道php頁面正在發送什麼,以便我可以解釋客戶端的數據?

難道還有比使用

httpxml.responseText.indexOf("something")

由於兩種響應可能包含類似的數據更好的辦法?我希望做的是從PHP頁面發送兩個變量,然後在客戶端「查看」這些變量?

希望我還沒有讓這個太混亂,謝謝。

請僅使用Javascript。

回答

2

返回包含PHP中所有值的JSON。然後獲得迴應後,您的JavaScript可以做任何你想要做的值。

http://www.php.net/manual/en/function.json-encode.php

--PHP--

$responseArr = array('a'=>1, 'b'=>2); 
echo json_encode($responseArr); 

如果我沒記錯的話(我現在做這個用jQuery),您的迴應文字只是執行的eval()將構成對象爲您服務。

--javascript--(只是香草JS吧?你沒有提到的jQuery或任何東西) 這可能是你的onreadystatechange塊

var r = xhr.responseText; //assuming you name the XMLHttpRequest object 'xhr' 
var rlist = eval('('+r+')'); 
document.getElementByID("foo").innerHTML = rlist['a']; //or whatever you want to do with these 
document.getElementByID("bar").innerHTML = rlist['b']; 
+0

謝謝里面!我只花了最後20分鐘試圖弄清楚哈哈,似乎我試圖在eval函數中加載數組。再次感謝 :)。 – Elliott 2010-12-04 21:55:49