2012-09-17 129 views
2

我有一个基于jquery mobile的移动网站实现,现在学习backbone.js并重新考虑应用程序以更好地组织它。Backbone Collection Fetch()不工作

var membership = Backbone.Model.extend(); 

var memberships = Backbone.Collection.extend({ 
    model: membership, 
    parse: function (resp, xhr) { 
     }, 
    url: "/groups.svc/memberships/azxcv01" 
    }); 

    var col1 = new memberships(); 
    col1.fetch({ success: function() { 
     console.log(col1); 
    } 
}); 

在chrome中,我看到URL格式良好并返回有效的JSON。 解析()事件也得到有效的 resp。但上面的console.log()显示为空数组“[]”。

我错过了什么?

+0

检查更新答案.. –

回答

0

试试这个, 这里链接摆弄http://jsfiddle.net/w7xeb/(更新)

var membership = Backbone.Model.extend(); 

var memberships = Backbone.Collection.extend({ 
    model: membership, 
    parse: function (resp, xhr) { 
      return resp; 
     }, 
    }); 

    var col1 = new memberships(); 
    col1.fetch({ 
     url : "/restful/fortune",     
     success: function() { 
      console.log(col1); 
    } 
}); 
​ 

响应

$.mockjax({ 
    url: "/restful/fortune", 
    responseTime: 750, 
    contentType: "text/json", 
    responseText: [{ 
      a:'a' 
     },{ 
      a:'b' 
     },{ 
      a:'c' 
     }] 
}); 
+0

不幸的是我仍然看到的一样。 col1和resp的响应在控制台(models:Array [0])中是相同的。 – chenaivaasi

+0

检查更新的答案.. –

+0

谢谢,这给了我一些很好的学习。但是我想通过使parse()看起来像这样来解决问题。 parse:function(resp,xhr){0}返回JSON.parse(resp); }, – chenaivaasi