Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
backbone.js干搜索结果模型和集合_Backbone.js_Backbone.js Collections - Fatal编程技术网

backbone.js干搜索结果模型和集合

backbone.js干搜索结果模型和集合,backbone.js,backbone.js-collections,Backbone.js,Backbone.js Collections,我正在尝试为主干网创建一个干式搜索结果模型和集合,这样无论我在应用程序中搜索什么,我们都使用相同的模型/集合,偶尔可能会调用不同的视图 我的模型和控制器非常简单 Myapp.Models.Search = Backbone.Model.extend(); Myapp.Collections.Search = Backbone.Collection.extend({ model: Myapp.Models.Search }); Myapp.Models.Search=Backbone.Mo

我正在尝试为主干网创建一个干式搜索结果模型和集合,这样无论我在应用程序中搜索什么,我们都使用相同的模型/集合,偶尔可能会调用不同的视图

我的模型和控制器非常简单

Myapp.Models.Search = Backbone.Model.extend(); Myapp.Collections.Search = Backbone.Collection.extend({ model: Myapp.Models.Search }); Myapp.Models.Search=Backbone.Model.extend(); Myapp.Collections.Search=Backbone.Collection.extend({ 型号:Myapp.Models.Search }); 然后填充url值以在视图中获得正确的请求和参数

Myapp.Views.SearchResults = Backbone.View.extend({ el: 'div#results', initialize: function(){ Myapp.results = new Backbone.Collection.Search; Myapp.results.url = this.model.search_type+'/'+this.model.data; //this holds the search query Myapp.results.fetch({ success: function(){alert('got result')}, error: function(){alert('that is not good!');} }); } Myapp.Views.SearchResults=Backbone.View.extend({ el:“div#results”, 初始化:函数(){ Myapp.results=new Backbone.Collection.Search; Myapp.results.url=this.model.search_type+'/'+this.model.data;//这保存搜索查询 Myapp.results.fetch({ 成功:函数(){alert('got result')}, 错误:函数(){alert('that not good!');} }); } 没有“fetch”,一切都很好,但是当我包含fetch时,进行了fetch,返回了结果,但是我得到了错误

Uncaught TypeError: undefined is not a function in backbone.js:23 UncaughtTypeError:undefined不是主干中的函数。js:23 我已经检查了响应,它是有效的JSON。当我将Myapp.results输出到控制台时,我看到了集合,但它仍然是空的。无论是错误还是不成功都不会被触发

----------------更新------------------------ 根据注释,我已经将第23行分割,并发现在这一行中返回了错误

a=new this.model(a,b), a=新型号(a,b), 如果我理解这行的功能,那么这个问题可能是因为响应集合只返回了一个模型吗?我希望这不会导致问题,您应该能够拥有一个包含1个或更少模型的集合

--------------更新--------------------------


因此,我在集合中删除了对
模型的引用,现在我没有得到错误。因此,在某些方面,这已得到解决,但不应该得到解决。是否有原因到目前为止,我一直定义与集合关联的模型?

使用调试器逐步执行fetch,并确切地查看哪个对象主干预期为f函数未定义,这可能会明确指出错误所在。如果粘贴backbone.js的相关部分(需要准确的版本,使用未统一的源代码更容易)关于第23行,我们也可以从中找到答案。在跟踪此问题时,您可能希望使用非精简版的
backbone.js
。我已经用backbone.js中令人不快的代码更新了这个问题。嗯,你们认为还有
}
extra after
error
callback?或者内容格式不正确?或者可能是我的理解有问题:-/You's right@Cyclone,但这不是错误。我尝试使用
.fetch()运行它
,我仍然有错误。我通过jsonlint运行了响应,格式正确,模型有一个id,我认为这是主干集合的唯一要求。