我正在尝试从JSON网址获取集合。骨干网确实发送了请求并得到了响应,但是models在它之后的集合中没有:
models
这是我的JavaScript:
stores.fetch();
响应中的JSON
[{"name":"Store 1"},{"name":"Store 2"},{"name":"Store 3"},{"name":"Store 4"}]
响应中的Content-Type HTTP标头为application/json。
application/json
为什么不将其加载到集合中?JSON是否正确?
一些更多的代码:
be.storeList.Item = Backbone.Model.extend({ defaults: { id: null, name: null, description: null }, initialize:function(attrs){ attrs.id = this.cid; this.set(attrs); } }); be.storeList.Items = Backbone.Collection.extend({ model: be.storeList.Item, url:'/admin/stores' }); var stores = new be.storeList.Items(); stores.fetch(); console.log(stores.toJSON());
fetch是异步的。尝试
fetch
stores.fetch({ success:function() { console.log(stores.toJSON()); } });
要么
stores.on("sync", function() { console.log(stores.toJSON()); }); stores.fetch();
stores.fetch().then(function() { console.log(stores.toJSON()); });