我正在尝试使用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个参数,但我无法从中提取任何信息。
答案 0 :(得分:0)
Backbone不支持获取XML,因此,您需要覆盖sync方法以提供自己的自定义解析功能。如果您不想弄乱Backbone内部,请先尝试执行$ .ajax GET,将响应解析为正确的JSON数组,然后将该数组与Backbone#Collection-reset一起使用。
获取请求的服务器处理程序应返回JSON数组 模型。
使用默认实现时,Backbone.sync发送请求 要保存模型,它的属性将被传递,序列化为JSON, 并在HTTP主体中发送内容类型application / json。什么时候 返回JSON响应,发送模型的属性 已被服务器更改,需要在客户端上更新。 响应来自集合的“读取”请求时 (Collection #fetch),发送一组模型属性对象。