다음은 PHP 코드입니다. mongodb에서 콜렉션 목록을 얻고 있습니다.PHP json_encode는 실제 객체를 생성하지 않습니다/실제 객체에 배열 문자열을 만들거나 PHP 배열을 json으로 변환합니다.
$list = $db->dbname->listCollections();
$result = array();
$i=0;
foreach ($list as $thiscollection) {
$result[$i++] = $thiscollection->getName();
}
echo json_encode($result);
콜백에서 console.log를 수행하며 이것이 내가 본 것입니다.
["fruits", "dogs", "cars", "countries"]
문제는 이것이 배열이 아니라 문자열이라는 것입니다. 이 값들을 반복해야합니다. 어떻게 PHP를 실제 객체로 만들거나 php를 사용하여 php 배열 대신 json을 주면 parseJSON을 사용할 수 있습니다.
고마워.
js :
$.post('/ajax-database.php', function (data) {
console.log($.parseJSON(data));
$.each(data, function (key, value) {
console.log(value);
});
});
콘솔이 출력 할 경우 *는 * 배열입니다. – timdream
@timdream isArray가 그렇지 않다고 말하면 @timdream. 나는 $ .each를 실행하려고 할 때 대괄호와 따옴표를 포함하여 모든 문자를 얻습니다. – Mark
유선입니다. Javascript 기능을 게시 할 수 있습니까? jQuery가 json으로 데이터를 해석하도록 'echo'하기 전에'header ('Content-Type : text/javascript'); – timdream