나는 내가 여기에 뭔가를 놓친 것 같아 :echoed 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와 같은 프레임 워크는 –