【发布时间】:2011-05-16 15:36:52
【问题描述】:
这是我的 PHP 代码,它从 mongodb 获取集合列表
$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 给我 json 而不是 php 数组,这样我就可以在它上面使用 parseJSON。
谢谢。
js:
$.post('/ajax-database.php', function (data) {
console.log($.parseJSON(data));
$.each(data, function (key, value) {
console.log(value);
});
});
【问题讨论】:
-
如果控制台打印出来,它是一个数组。
-
@timdream isArray 说不是。当我尝试在其上运行 $.each 时,我得到了每个字符,包括括号和引号。
-
那是有线的。你能发布你的Javascript函数吗?也许
header('Content-Type: text/javascript');之前echo以确保jQuery 将数据解释为json? -
@timdream 在帖子末尾添加“json”作为数据类型就可以了。我想我不明白它是如何工作的,我认为 parseJSON 做了同样的事情?布雷格。
标签: php jquery ajax arrays mongodb-php