2010-08-20 51 views
1

OK,所以我想通過jQuery.ajax()負載陣列

獲得從數據庫數據的行這裏是我想加載它的代碼:

$.ajax({ 
    url: 'mypage.php?id=345', 
    success: function(data) { 
    //process array of data 
    } 
}); 

這裏是jQuery加載的頁面上的代碼:

$DBH = new PDO(DB_DSN,DB_USER,DB_PASSWORD); 

$STH = $DBH->("SELECT * FROM mytable WHERE id = :id");  

$STH->setFetchMode(PDO::FETCH_ASSOC); 

$data = array('id' => $_GET['id']); 
$returnArray = $STH->fetch($data); 

// How do I return $returnArray as an Array to jquery? 

不知道該怎麼做才能返回數組。我想我可以implode()它作爲一個字符串,然後split()曾經返回,但我認爲可能有更好的辦法。

此外,我是新使用PDO所以如果我做錯了,請讓我知道。謝謝。

回答

4

使用json_encode() - 您可以通過本地方式閱讀Javascript。

+2

還需要指定數據類型:「JSON」,在'$。阿賈克斯()'撥打電話或發送回一個JSON MIME類型,以便jQuery將讀取響應正確 – 2010-08-20 13:52:41

+0

@湯姆我用$ .getJSON而不是$ .ajax – 2010-08-20 14:07:47

+0

@John Isaacks:好的。它只是使用$ .ajax()的例子。 – 2010-08-20 14:12:35

0
$this->_helper->layout()->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(); 
$testArray=array('a'=>array('b','c')); 
print Zend_Json::encode($testArray);