私はここで何かが欠けていると思う:echo'd PHP AJAX経由で呼び出されたJSONが正確に何を返しますか?
を、私は、データベースからいくつかのデータを取得し、 $ jsondata =配列()JSON形式でそれを送り返すAJAXを使用しました。
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"はオブジェクトではないということです - それが何ではないか?私はこのようにアクセスすることさえできないということは私には分かりません:
document.write(categoriesObject.Categories[0].category);
私は間違っていますか?
文字列をオブジェクトに解析する必要があります。問題のあるeval()を使用するか、JSONパーサーを使用してください。ここをクリックしてください:http://www.json.org/js.htmlサイドノート、jQueryのようなフレームワークは –