Backbone Collection获取不影响GET请求的选项

时间:2014-09-04 13:31:10

标签: javascript backbone.js couchdb

我有以下Backbone收集代码:

AssessmentSlos = Backbone.Collection.extend({
      url: "mapping",

      db: {
        view: "slosByAssessmentId"
      },
      fetch: function(options) {
        options = {};
        options.data ={};
        options.data.date = "2013-10";
        return Backbone.Collection.prototype.fetch.call(this, options);
      }
    });

代码用于初始化和调用fetch是这个

c = new AssessmentSlos();
c.fetch();

预期/正确的URL请求应该像这样

http://localhost:5984/tangerine/_design/tangerine/_view/slosByAssessmentId?date=2011-10 

但是当我检查时,我得到了这个:

http://localhost:5984/tangerine/_design/tangerine/_view/slosByAssessmentId?cacheBuster=126

为什么我的日期查询没有显示在网址查询中? 我按照这个简单的指南http://japhr.blogspot.in/2011/10/overriding-url-and-fetch-in-backbonejs.html

根据指南,此代码应该正常工作。我的错是什么?

1 个答案:

答案 0 :(得分:1)

问题不在于骨干,它是骨干 - couchdb连接器,它正在改变我的获取参数。所以为了实现它,我将查询添加到" db"集合类的对象,例如在键上获取将是这样的

AssessmentSlos = Backbone.Collection.extend({
      url: "mapping",

      db: {
        view: "slosByAssessmentId"
        ,keys: ["2013-10"]

      },
      fetch: function(options) {
        options = {};
        options.data ={};
        options.data.date = "2013-10";
        return Backbone.Collection.prototype.fetch.call(this, options);
      }
    });