Backbonejs最简单的集合提取

时间:2012-07-16 04:02:27

标签: javascript ajax backbone.js

我正在尝试使用Backbone.js从我的服务器收到的XML下载,解析和显示列表。代码如下:

var Item = Backbone.collection.extend({
    url: "http://myurl.com/file.xml",
    parse: function() {
        console.log("parse");
    },
    success: function(data) {
        console.log(data);
    },
    error: function() {
        console.log("error");
    }
});

var View1=Backbone.view.extend({
    initialize: function() {
        var item = new Item();
        item.fetch();
    }
});

当我在Chrome扩展程序中检查时,XML文件已下载,但parsesuccesserror中的断点直接登陆error

它有3个参数,但我无法从中提取任何信息。

1 个答案:

答案 0 :(得分:0)

Backbone不支持获取XML,因此,您需要覆盖sync方法以提供自己的自定义解析功能。如果您不想弄乱Backbone内部,请先尝试执行$ .ajax GET,将响应解析为正确的JSON数组,然后将该数组与Backbone#Collection-reset一起使用。

Backbone#Collection-fetch

  

获取请求的服务器处理程序应返回JSON数组   模型。

Backbone#Sync

  

使用默认实现时,Backbone.sync发送请求   要保存模型,它的属性将被传递,序列化为JSON,   并在HTTP主体中发送内容类型application / json。什么时候   返回JSON响应,发送模型的属性   已被服务器更改,需要在客户端上更新。   响应来自集合的“读取”请求时   (Collection #fetch),发送一组模型属性对象。