由ajax调用的PHP方法包括弄乱ajax调用的对象类型信息

时间:2016-11-03 13:53:02

标签: php jquery ajax mongodb codeigniter

背景资料

我有一个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 <

0 个答案:

没有答案