如何使用backbone.js创建和处理Ajax调用

Jag*_*ags 3 ajax backbone.js backbone-views

我是骨干的新手.我尝试以下面的方式进行ajax调用.而且我不确定如何处理我的get请求中的数据?这是代码:

//与服务器交互

var UserModel = Backbone.Model.extend({
    url:'http://api.geonames.org/astergdemJSON?formatted=true&lat=50.01&lng=10.2&username=demo&style=full'
});

var MyView = Backbone.View.extend({
    initialize: function() {
        this.model = new UserModel();
        this.model.fetch();
    },
    render: function() {
        alert('do awesome stuff here');
    }
});
Run Code Online (Sandbox Code Playgroud)

Wal*_*ira 10

当您创建时fetch(),Backbone将向您指定的端点发送GET ajax请求url.

当您调用时.fetch,模型将触发一个request事件,当您收到它时,解析它并将其设置为模型,模型将触发一个sync事件.

如果要在将任何数据设置为模型之前更改任何数据,请覆盖模型上的方法parse.它从GET请求接收原始数据,并且必须返回将要设置到模型的内容.

如果您想获得额外的成功和错误回调,请将它们传递给您fecth({ success: ..., error: ... }).在将值设置和解析到模型之后和同步事件之前触发成功回调.错误事件之前触发错误回调.查看文档以获取更多详细信息.没有必要通过任何回调.

所以,它会是这样的:

var MyView = Backbone.View.extend({
    initialize: function() {
        this.model = new UserModel();
        this.listenTo(this.model, 'sync', this.render);
        this.model.fetch();
    },
    render: function() {
        alert('My model loaded: ' + this.model.toJSON());
    }
});
Run Code Online (Sandbox Code Playgroud)

而且,就是这样.Backbone几乎可以为您提供一切.

希望我帮了.