背景资料
我有一个PHP / Codeigniter Web应用程序,它为生活在mongo数据库中的文档提供CRUD功能。 我在前端有一个ajax代码,它调用方法从数据库中查询数据,以填写表单中的下拉列表等。
问题
在我的ajax调用中,我一直无法循环返回的数据,我认为这是因为数据包含对象元数据。
例如,请考虑以下ajax代码:
39 $.ajax({
40 url:"<?php echo site_url('site/sitelist');?>",
41 type:'POST',
42 dataType:'json',
43 success: function(res) {
44 //loop through results
45 console.log('this is sre:'+ res);
当我尝试手动导航到http://myserver/myapp/index.php/site/sitelist时,这就是我在页面顶部返回的内容:
对象(MongoCursor)[19]
代码
这就是我的控制器的样子:
public function sitelist()
{
$params=array();
$sitelistdocs = $this->site_model->get_sites($params);
//echo(json_encode($sitelistdocs));
//return json_encode($sitelistdocs);
}
模型看起来像这样:
public function get_sites($filter)
{
$collection = $this->mongo_db->db->selectCollection('site');
$result = $collection->find($filter);
return iterator_to_array($result);
}
我尝试了什么
正如你所看到的,我已经注释掉控制器中可能负责打印/返回元数据的两行...但它仍然会返回它。 当我只启用echo语句时,它正确地显示了json数组......但是在前面加上了光标(?)或mongo对象信息。
任何建议将不胜感激。我没有包括我正在使用的mongo库...但如果你认为它是相关的我可以。
感谢。
编辑1
如果它有帮助,我已经粘贴了我在这里使用的mongo库: http://pastebin.com/StayKTre
可以在此处看到库中引用的配置文件: http://pastebin.com/jghz77US
编辑2
以下是Chrome控制台中的一些输出,用于证明错误与对象元数据相关:
( 对象( MongoCursor )[ 19 ])
与以下错误消息相关联:
VM1873:1 Uncaught SyntaxError: Unexpected token <