全局模型基本URL和可选的自动化

时间:2015-06-02 00:39:20

标签: rest backbone.js model

有没有办法设置全局api_root属性,而不是在代码库中反复重复声明?

所以而不是:

var UserModel = Backbone.Model.extend({
    urlRoot: '/user',
    defaults: {
        name: '',
        email: ''
    }
});
var user = new UserModel();
user.save(userDetails, {
    success: function (user) {
        alert(user.toJSON());
    }
});

我可以设置一个应用范围的属性,如:

app.api_root = 'https://api.ltmo.com/';

然后根据惯例映射:

var UserModel = Backbone.Model.extend({ // maps to https://api.ltmo.com/users/
    defaults: {
        name: '',
        email: ''
    }
});
var user = new UserModel();
user.save(userDetails, {
    success: function (user) {
        alert(user.toJSON());
    }
});

1 个答案:

答案 0 :(得分:0)

您可以使用ajaxprefilter在jQuery级别上解决此问题:

$.ajaxPrefilter(function(options) {
  options.url = 'https://api.ltmo.com/' + options.url;
});