我正在从服务器读取json响应,该服务器使用以下php代码从sqlite数据库发送多维数组:
while ($data = $result->fetchArray(SQLITE_NUM)) {
echo json_encode($data);
这可以正常工作,并以下列格式将数据作为字符串发送出去: [1, “委员会1”, “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”, “D6”, “D7”, “D8”, “D9” , “D10”] [1 “Board3”, “层3”,1,100,1, “D1”, “D2”, “D3”, “D4”, “D5”, “D6”, “D7”, “D8”, “D9” ,“D10”]
我正在使用jQuery使用以下代码从服务器请求此数据,并希望将收到的数据保存在javascript数组中,以便我可以使用例如data [0] [1]来引用单个项目“Board2”元素 - 但似乎无法做到这一点?
代码适用于单个数组,但不适用于多数组?
JAVASCRIPT CODE:
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数组变量。
非常感谢任何帮助 谢谢 弗兰克多布斯
答案 0 :(得分:2)
问题是你发送了几个JSON而没有将它们连接在一起。这与发送JSON数组不同。
建议的补救措施:
$json = array();
while ($data = $result->fetchArray(SQLITE_NUM)) {
$json[] = $data;
}
echo json_encode($json);