我是骨干的新手。我尝试以下面的方式进行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');
}
});
答案 0 :(得分:10)
当您fetch()
时,Backbone会向您在url
指定的端点发送GET ajax请求。
当您致电.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());
}
});
而且,就是这样。 Backbone几乎可以为您提供一切。
希望我能帮到你。