2

我有一个将 json 文件作为“文本/纯文本”发送回的网络服务器。不幸的是,我无法对此进行调整。我可以告诉集合上的主干获取将其读取为 JSON,即使它具有此内容/类型?像响应的 emulateJSON 一样?

谢谢

基本上想解决这个问题:

在此处输入图像描述

这是我遇到问题的主干代码(总骨干菜鸟,所以我知道我处理这个问题的方式很可能有问题):

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:

在此处输入图像描述

删除解析方法:

在此处输入图像描述

使用解析: 在此处输入图像描述

4

1 回答 1

3

Backbone 在后台使用jQuery.ajax来处理 ajax 请求。

因此,您需要使用dataType: 'json'选项来指定 jQuery 在您调用时应如何处理响应fetch

yourCollection.fetch({
    dataType: 'json'
});
于 2013-09-02T20:29:08.213 回答