jquery.couchdb.js未调用Ajax成功/错误

时间:2012-05-14 11:09:09

标签: javascript jquery jquery-plugins couchdb

我正在使用jquery.couchdb.js来查询我的CouchDB数据库。我要查询的视图中包含map和reduce函数。发送基本查询时如下所示:

$(document).ready(function() {

   view_name = db_name+'/jobs_by_mod_stat'
   options = {'group': 'true' , 'reduce': 'true' };

   mod_stat = {};

   $db.view(view_name , {
     success: function(data) {
        console.log(data)
        for (i in data.rows) {
           console.log(data.rows[i].value);
        }
    },
    error: function(e) {
      alert('Error loading from database: ' + e);
    }
  });

});

我看到数据的合理日志,表明查询已成功。但是,更改行:

   $db.view(view_name , {

   $db.view(view_name , options, {

我没有从Ajax查询中获得成功结果,但也未显示错误消息。 Firebug显示正在发送的查询,返回的JSON数据看起来很合理:

  

{ “行”:[
  { “键”:[ “模板”, “完成”], “值”:2},   { “键”:[ “模板”, “运行”], “值”:2},   { “键”:[ “模板”, “等待”], “值”:6}
  ]}

但未输入成功功能。任何想法为什么我看到这种行为,我确实想知道它是否是jquery.couch.js中的一个错误(我有couchdb 1.1.0)。

干杯。

1 个答案:

答案 0 :(得分:2)

我自己在使用list函数时遇到了一些麻烦,直到我查看了jquery.couch.js的源代码(我在http://bradley-holt.com/2011/07/couchdb-jquery-plugin-reference/找到的在线文档似乎已经过时了)。

基本上,viewlist的参数不同,列表为选项提供了额外的参数,而不是将所有内容都放在与视图相同的参数下。

查看:

$.couch.db('yourdb').view('couchapp/' + viewName, {
    keys: ['keys here'],
    success: function (data) {

    }
});

列表:

$.couch.db('yourdb').list('couchapp/' + listName, viewName, {
    keys: ['keys here']
}, {

    success: function (data) {

    }
});