在下面的代码中,我看到集合初始化程序触发。我还可以根据调整数据库命中数的服务器端查询模式使模型初始化程序激活不同的次数,因此我确信我的fetch正在命中服务器。但是,我在获取后从未收到警报。请问有人可以纠正我的错误吗?
$(function () {
Person = Backbone.Model.extend({
initialize: function () {
alert("Model Init");
}
});
PersonList = Backbone.Collection.extend({
model: Person,
url: '/Tfount_Email/Email/SOAInbox',
initialize: function () {
alert("Collections Init");
}
});
var personlist = new PersonList;
/*
personlist.fetch().complete(function () {
alert("done");
});
*/
personlist.fetch(
{
error: function () {
alert("error!!");
}
},
{
success: function () {
alert("no error");
}
}
);
});
答案 0 :(得分:4)
你走了。
$(function () {
var Person = Backbone.Model.extend({
initialize: function () {
alert("Model Init");
}
}),
PersonList = Backbone.Collection.extend({
model: Person,
url: '/Tfount_Email/Email/SOAInbox',
initialize: function () {
alert("Collections Init");
}
}),
personlist = new PersonList();
personlist.fetch({
error: function () {
alert("error!!");
},
success: function () {
alert("no error");
}
}).complete(function () {
alert("done");
});
});
注意:
var
和Person
的{{1}}关键字,您忘记了。PersonList
返回一个jQuery XHR对象。您应该将fetch()
回调权限与电话绑定。complete
接受一个选项哈希,而不是多个选项。