0

我正在尝试从使用 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 文件,但放置在parse,success中的断点error直接落在error.

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

4

1 回答 1

0

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

骨干#Collection-fetch

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

骨干#同步

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

于 2012-07-16T11:37:25.100 回答