我想通過使用$ .getJSON函數將通過php文件從數據庫訪問的json對象傳遞給JS。我正在使用json_encode()函數。正在檢索存儲在數據庫中的json對象。但是,我在php($ arr)中獲取的數組沒有被$ .getJSON函數接受。
請幫忙。謝謝!
示例代碼(PHP):
<?php
$arr = array();
while($row = mysqli_fetch_array($result)){
$attributes = $row['attributes'];
array_push($arr, $attributes);
}
$newArray = json_encode($arr);
echo $newArray;
?>
JS代碼:
var i, j;
var dataset = [];
for (i=0; i < 17; i++){
dataset[i] = [];
for (j=0; j < 17; j++){
dataset[i][j] = "";
}
}
$(document).ready(function(){
$.getJSON('getData.php', function(data) {
$.each(data, function(key, val) {
var x = val.posX,
y = val.posY;
});
});
});
以下是當我打印$ newArray輸出。
[
"{\"position\":\"6.5\",\"posX\":6,\"posY\":5,\"type\":\"wall\"}",
"{\"position\":\"1.2\",\"posX\":1,\"posY\":2,\"type\":\"wall\"}",
"{\"position\":\"3.5\",\"posX\":3,\"posY\":5,\"type\":\"bee\",\"speed\":12}",
"{\"position\":\"7.3\",\"posX\":7,\"posY\":3,\"type\":\"bee\",\"speed\":12}",
"{\"position\":\"0.0\",\"posX\":0,\"posY\":0,\"type\":\"butterfly\",\"speed\":12,\"minspeed\":3.5,\"maxspeed\":12,\"speed_change_rate\":-0.9}",
"{\"position\":\"4.0\",\"posX\":4,\"posY\":0,\"type\":\"butterfly\",\"speed\":12,\"minspeed\":3.5,\"maxspeed\":12,\"speed_change_rate\":-0.9}"
]
您的'$ newArray'不包含正確的JSON – suvroc
我該如何更改? –
它包含適當的JSON,它只是不是很好的JSON。你有一個JSON字符串數組。每個字符串本身都是JSON文本。 – Quentin