Javascript 使用Backbone.js获取和解析的问题
我尝试获取此服务器: 到backbone.js集合。 然后我尝试console.log,但它不起作用。 这对我很重要,请帮忙 新闻:我发现这与JSONP有关。我很高兴听到更多关于这方面的信息。谢谢 简而言之,这是我代码的一部分:Javascript 使用Backbone.js获取和解析的问题,javascript,jquery,ajax,backbone.js,underscore.js,Javascript,Jquery,Ajax,Backbone.js,Underscore.js,我尝试获取此服务器: 到backbone.js集合。 然后我尝试console.log,但它不起作用。 这对我很重要,请帮忙 新闻:我发现这与JSONP有关。我很高兴听到更多关于这方面的信息。谢谢 简而言之,这是我代码的一部分: window.ProjectList = Backbone.Collection.extend({ model: Project, url:"http://cshosting.webfactional.com/api/v1/projects",
window.ProjectList = Backbone.Collection.extend({
model: Project,
url:"http://cshosting.webfactional.com/api/v1/projects",
parse: function(response) {
return response.objects;
}
});
另一部分:
window.HomeView = Backbone.View.extend({
initialize:function () {
this.projectList = new ProjectList();
this.projectList.fetch({success : function() {console.log(this.projectList); }});
this.homeListView = new HomeListView({model: this.projectList});
}
});
fetch
回调上的this
不会引用您的HomeView
实例。尝试使用另一个变量以确保引用的是所需的对象
initialize:function () {
var self = this;
this.projectList = new ProjectList();
this.projectList.fetch({success : function() {console.log(self.projectList); }});
this.homeListView = new HomeListView({model: this.projectList});
}
如果这不能解决问题,请描述发生了什么。使用webkit inspector的网络选项卡确保调用了正确的GET请求和响应。确保调用了
parse
函数,并且response
对象是您所期望的对象。您似乎希望执行类似的操作:
window.Project = Backbone.Model.extend({
url:"http://cshosting.webfactional.com/api/v1/projects/?format=json"
});
window.ProjectList = Backbone.Collection.extend({
model: Project,
url:"http://cshosting.webfactional.com/api/v1/projects/?format=json"
});
window.HomeView = Backbone.View.extend({
initialize:function () {
_.bindAll(this, 'render');
},
render: function(){
var self = this;
console.log(self.collection);
return this;
}
});
var project = new Project();
var collection = new ProjectList();
collection.fetch({
success: function(result_collection, resp) {
var view = new HomeView ({ collection: result_collection });
view.render();
}
});
访问集合的另一种方法是将集合和响应参数提供给成功回调<代码>成功:函数(收集,响应){console.log(收集);console.log(响应);}但是Peter提到的技术也是有效的,我一直在使用它。尽管有数千行代码,我还是成为了“哎呀…
这个
不是这个
我认为这是个问题”的牺牲品。有些人喜欢that
而不是self
,但我在彼得的阵营里,喜欢使用self
;-)嘿我发现这和JSONP有关。我很高兴听到更多关于这方面的信息。谢谢。我看到您正在创建一个新的homeListView并将其传递到模型中:this.projectList
,但是,this.projectList
是一个集合。不是模特儿。怎么了?嘿。我发现这和JSONP有关。我很高兴听到更多关于这方面的信息。谢谢。啊,很有趣。你能试着把链接改成吗?看看这是否有帮助?