Javascript 主干:从客户端的json文件中获取数据

Javascript 主干:从客户端的json文件中获取数据,javascript,json,backbone.js,Javascript,Json,Backbone.js,使用Backbone.js,在模型或集合实例上调用fetch方法时,我希望从客户机部分的Json文件中获取数据 我的集合(mycl)中的url属性)指向如下json文件: [ {title: "_My trip to Bali", src: "bali-trip.jpg"}, {title: "_The flight home", src: "long-flight-oofta.jpg"}, {title: "_Uploading pix", src: "too-many-pics.

使用
Backbone.js
,在模型或集合实例上调用fetch方法时,我希望从客户机部分的Json文件中获取数据

我的集合(
mycl
)中的
url属性
)指向如下json文件:

[
  {title: "_My trip to Bali", src: "bali-trip.jpg"},
  {title: "_The flight home", src: "long-flight-oofta.jpg"},
  {title: "_Uploading pix", src: "too-many-pics.jpg"}
]
我执行以下命令:

myCol = new MyCol();
myCol.fetch(); // the Request Method GET is ok 
myCol.toJSON(); // [] 

@fguillen说得对,您可以使用
成功和错误回调来调试代码。
无论如何,错误是json格式的,因为成员必须是字符串

试试这个,它会起作用:

[
  {"title": "_My trip to Bali", "src": "bali-trip.jpg"},
  {"title": "_The flight home", "src": "long-flight-oofta.jpg"},
  {"title": "_Uploading pix", "src": "too-many-pics.jpg"}
]

请记住,fetch不是一个同步函数。fetch方法将启动对服务器的请求,并通过事件或回调向您发出响应警报

看一下fetch方法的主干文档

试着做类似的事情

myCol = new MyCol();
myCol.fetch({
    success: function() { //This is fired if the request is succesful
        myCol.toJSON();
    }
});

或者正如@roberkules所提到的,fetch返回a,所以您可以这样做

myCol = new MyCol();
myCol.fetch()
     .done(function() {
         myCol.toJSON();
      })
      .fail(function() {
          alert('Oh No!');
      });
我们需要更多信息:1)哪个是JSON文件的URL?2) 哪个是主干请求的URL?3) 网络控制台向您展示了什么?4) 什么是这样的
mycl.fetch({success:function(){console.log(“success”);},error:function(){console.log(“error”);}
向您展示的?我更喜欢
mycl.fetch().done(function(){mycl.toJSON();})
myCol = new MyCol();
myCol.fetch()
     .done(function() {
         myCol.toJSON();
      })
      .fail(function() {
          alert('Oh No!');
      });