Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbonejs最简单的集合获取_Javascript_Ajax_Backbone.js - Fatal编程技术网

Javascript Backbonejs最简单的集合获取

Javascript Backbonejs最简单的集合获取,javascript,ajax,backbone.js,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); },

我正试图从使用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文件正在下载,但是放置在
解析
成功
错误
中的断点直接到达
错误


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

主干网不支持提取XML,因此,您需要覆盖sync方法以提供您自己的自定义解析功能。如果您不想弄乱主干内部,请尝试先执行$.ajaxget,将响应解析为适当的JSON数组,然后将该数组与

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

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


我添加了一个缺少的
.xml
之后,当时我正在修复您的缩进。我假设这只是您的示例中的一个输入错误,您的真实代码是否在所有正确的位置都有双引号?@rock\u-win断点是否曾在parse方法中命中
log
?你试过其他浏览器吗?xml是否具有正确的mime类型?不,它从不在解析方法中出现,我尝试添加
主干.sync()
,它确实在登录到
error
之前出现,但它具有相同的参数,我也尝试调试并返回主干的源代码,但它来自主干的某个包装器,它试图包装已经生成的错误(不确定,它是在哪里生成的)我尝试用普通的$.ajax下载XML-它来了-你能在控制台中发布你得到的错误吗?看起来可能违反了跨域访问策略-XML是否与您尝试从中访问它的服务器位于同一个域上?