backbone.js集合获取 - 既不成功也不是错误函数触发器

时间:2012-08-18 19:40:45

标签: backbone.js

在下面的代码中,我看到集合初始化程序触发。我还可以根据调整数据库命中数的服务器端查询模式使模型初始化程序激活不同的次数,因此我确信我的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"); 
            }
        }
    );



});

1 个答案:

答案 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");
    });
});

注意:

  • 我添加了varPerson的{​​{1}}关键字,您忘记了。
  • PersonList返回一个jQuery XHR对象。您应该将fetch()回调权限与电话绑定。
  • complete接受一个选项哈希,而不是多个选项。