在尝试学习Backbone.js时,我一直在尝试使用以下代码获取JSON文件的内容:
(function($){
var MyModel = Backbone.Model.extend();
var MyCollection = Backbone.Collection.extend({
model : MyModel,
url: '/backbone/data.json',
parse: function(response) {
console.log(response);
return response;
}
});
var stuff = new MyCollection;
console.log(stuff.fetch());
console.log(stuff.toJSON());
})(jQuery)
'stuff.fetch()'返回整个对象(带有我在responseText中的数据),'stuff.toJSON'不返回任何内容([]),但是parse方法中的控制台正好返回我的内容想要(我的数据的json对象)。
我觉得我在这里遗漏了一些明显的东西,但我似乎无法弄清楚为什么我无法获得正确的数据。有人能指出我正确的方向还是告诉我这里我做错了什么?我是否使用了错误的模型?
答案 0 :(得分:6)
fetch
是异步调用,因此如果您想获得响应,请将success
回调传递给参数。
stuff.fetch({
success: function (collection, response) {
console.log(response);
}
})