Javascript 主干集合获取选项不影响获取请求
我有以下主干收集代码:Javascript 主干集合获取选项不影响获取请求,javascript,backbone.js,couchdb,Javascript,Backbone.js,Couchdb,我有以下主干收集代码: AssessmentSlos = Backbone.Collection.extend({ url: "mapping", db: { view: "slosByAssessmentId" }, fetch: function(options) { options = {}; options.data ={}; options.data.date = "201
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
为什么我的日期查询没有显示在url查询中?
我遵循这个简单的指南
根据指南,该代码应该有效。我的错误是什么?问题不在于主干,而是主干couchdb连接器改变了我的获取参数,因此为了实现这一点,我在collection类的“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);
}
});
尝试替换此代码-options.data={date:this.date};使用此选项-options.data.date=this.date
这个.date
是未定义的
,因此它不会作为参数传递。只需将date
属性添加到集合中并确保它已设置,我添加了date
,我可以在GET请求中看到它。我将未定义的日期固定为固定字符串,但问题是相同的,我做的另一件事是,我复制了这段代码并粘贴到backbone.js控制台上,它可以正常工作,但在我的应用程序上它不能正常工作