我有一个将json文件作为'text / plain'发回的网络服务器。我很遗憾无法调整此。即使它具有此内容/类型,我是否可以告诉集合上的主干提取将其读取为JSON?就像响应的emulateJSON一样?
THX
基本上想解决这个问题:
这是我的骨干代码,我遇到了问题(总骨干菜鸟,所以我知道我的处理方式很可能有问题):
var MyItemList=Backbone.Collection.extend({url:'items.json', model:MyItem,
// not sure if I need this?
parse: function(response) {
return response.results;
}
});
var AppRouter=Backbone.Router.extend({
routes:{'':'list','detail/:id':'detail'},
list:function(){
var itemList=new MyItemList();
itemList.fetch({ dataType:'json',
error: function () {
console.log("error!!");
},
success: function () {
console.log("no error");
}
}).complete(function () {
console.log('done');
console.log('length1:' + itemList.length);
});
console.log('length2: '+ itemList.length);
}
我的json:
删除解析方法:
使用Parse:
答案 0 :(得分:3)
Backbone在引擎盖下使用jQuery.ajax来获取ajax请求。
因此,您需要使用dataType: 'json'
选项来指定在调用fetch
时jQuery应如何处理响应:
yourCollection.fetch({
dataType: 'json'
});