2011-09-22 60 views
0

我讀從其中使用下面的PHP代碼發送從SQLite數據庫的多維陣列的服務器的JSON響應:提取多維JSON陣列中的JavaScript

while ($data = $result->fetchArray(SQLITE_NUM)) { 
echo json_encode($data); 

此工程確定和發送其數據輸出作爲以下格式的字符串: [1,Board1,Floor1,1,100,1,D1,D2,D3,D4,D5,D6,D7, ,「D8」,「D9」,「D10」] [1,「Board2」,「Floor2」,1,100,1,「D1」,「D2」,「D3」,「D4」,「D5」 D4「,」D7「,」D8「,」D9「,」D10「] [1,」Board3「,」Floor3「,1,100,1,」D1「,」D2「,」D3「 D5,D6,D7,D8,D9,D10

我正在使用jQuery從服務器使用以下代碼請求這些數據,並且希望將接收到的數據保存在一個javascript數組中,這樣我就可以使用例如數據[0] [1]訪問單個項目來引用「 Board2「元素 - 但似乎無法做到這一點?

該代碼適用於單個數組,但不適用於多數組?

JavaScript代碼:

function requestMtrConfig() { 
$.ajax({ 
    url: '/php/getmtrconfig.php', 
    async:false,     // synchronous read 
    success: function(datas) {   
       data[0] = datas[0]; 
      data[1] = datas[1]; 
      data[2] = datas[2]; 
     } 

    },  
    cache: false 
}); 
} 

我怎樣才能把返回的JSON數組轉換成一個多維的JavaScript數組? PS:我已經創建了一個名爲data的全局多維JavaScript數組變量。

任何幫助,將不勝感激 感謝 弗蘭克·多布斯

回答

2

的問題是,您所發送出幾件JSON的沒有加入他們在一起。這與發送JSON數組不一樣。

建議的補救辦法:

$json = array(); 
while ($data = $result->fetchArray(SQLITE_NUM)) { 
    $json[] = $data; 
} 
echo json_encode($json);