调用fetch()时,Backbone集合会出现“未定义的Ajax”错误

时间:2013-11-05 20:44:38

标签: javascript ajax json backbone.js

我刚开始使用骨干,我正在尝试一个非常基本的脚本。我理解事情是如何工作的,但似乎是在我的集合上调用fetch时出现错误“Uncaught TypeError:无法读取未定义的属性'ajax'”。代码如下:

JS :: localhost:8888 / js / person.modal.js

var Person = Backbone.Model.extend({    
defaults: {
    name: '',
    birthYear: ''
}
});
var PersonCollection = Backbone.Collection.extend({
    model : Person,
    url: 'names.json'    
});
var people = new PersonCollection();
people.fetch();
console.log(people.models) // if I comment out line above this = []

JSON :: localhost:8888 / js / names.json

[
    { "name": "Linda", "birthYear": 1947},
    { "name": "Kat", "birthYear": 1977},
    { "name": "Jeff", "birthYear": 1989}
]

我的代码在桌面上运行在一个非常简单的node.js文件服务器上。仅使用Backbone.js和underscore.js。当我在浏览器中调用它时,我的JSON被视为application / json。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Backbone的RESTful持久性功能需要jQuery。 fetch调用$.ajax,如果jQuery不存在,则$未定义。