我想我在這裏的東西:通過AJAX調用的echo'd PHP編碼JSON返回什麼?
使用AJAX我從一個數據庫中的一些數據並將其發送回JSON格式 $ jsondata =陣列();
while ($Row = mysql_fetch_array($params))
{
$jsondata[]= array('cat_id'=>$Row["cat_id"],
'category'=>$Row["category"],
'category_desc'=>$Row["category_desc"],
'cat_bgd_col'=>$Row["cat_bgd_col"]);
};
echo("{\"Categories\": ".json_encode($jsondata)."};");
到目前爲止沒問題我想。
在cleint方面我接收返回到上述
ajaxRequest.responseText
,如果我這樣做
var categoriesObject = ajaxRequest.responseText;
alert(categoriesObject);
我看到我期待看到即警報的整個陣列。
哪裏出了問題就是試圖訪問響應。我得到的錯誤是「categoriesObject」不是一個對象 - 如果不是它是什麼?什麼是bugginh我是,我甚至不能像這樣訪問它:
document.write(categoriesObject.Categories[0].category);
所以我做錯了什麼?
您需要將字符串解析爲對象。使用有問題的eval()或使用JSON解析器。看到這裏:http://www.json.org/js.html邊注意,像jQuery這樣的框架已經建立在 – 2011-01-30 22:45:58