我想在jQuery中使用getJSON方法來檢索動態數組。我得到一個「非法」偏移量錯誤,試圖編碼我的動態數組。下面是服務器端代碼(我相信的JavaScript是正確的,因爲當我刪除查詢它運行良好):使用JSON編碼數組;獲得「非法偏移類型」錯誤
<?php
session_start();
require_once "database.php";
db_connect();
require_once "auth.php";
$current_user = current_user();
include_once("config.php");
$westcoast_id = $_GET['westcoast_id'];
$westcoast_array = array();
$query = "SELECT city, state FROM users GROUP BY city";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
if($row['city'] != '' && $row['state'] != '') {
$westcoast_array[$row] = "location:".$row['city'].", ".$row['state'].", stopover:true";
}
}
$data = array($westcoast_id, $westcoast_array);
echo json_encode($data);
?>
非法偏移是在參考線:
$westcoast_array[$row] = "location:".$row['city'].", ".$row['state'].", stopover:true";
我看不到問題是什麼。感謝您的幫助!
'$ row'是一個數組。它應該如何用作另一個陣列的*鍵*? – DCoder 2013-03-01 21:39:31
與json絕對沒有關係。這完全是一個PHP問題 - 你在讀取循環中使用了一個不正確的數組鍵,正如@DCoder指出的那樣。 – 2013-03-01 21:40:31
它看起來像你的JSON會有問題。在位置值中使用逗號而不用引號括起來。 – Aglystas 2013-03-01 21:43:10