Model.urlRoot Model.url()

默认情况下,未定义 urlRoot 属性。url 属性使用此 urlRoot 属性来创建模型资源位于服务器上的相对 URL。

var User = Backbone.Model.extend({
  
  urlRoot: '/api/users',

  // or

  urlRoot: function () {
    return '/api/users'
  }
  
});

var user = new User();

url 方法将首先检查模型的 idAttribute(默认为’id’)是否已定义。如果没有,模型 isNewurl 将简单地返回 urlRoot 的结果。

user.url() // /api/users

如果模型的 idAttribute 已经定义,url 将返回 urlRoot +模型的 idAttribute

user.set('id', 1);
user.url() // /api/users/1

在新模型上调用 save 将导致对 url 的结果发出 POST 请求

var user = new User({ username: 'johngalt' });
user.save() // POST http://webroot/api/users

在现有模型上调用 save 将导致对 url 的结果的 PUT 请求

user.set('id', 1);
user.set('username', 'dagnytaggart');
user.save() // PUT http://webroot/api/users/1

在现有模型上调用 fetch 将导致对 url 的结果的 GET 请求

user.fetch() // GET http://webroot/api/users/1

在现有模型上调用 destroy 将导致对 url 的结果发出 DELETE 请求

user.destroy() // DELETE http://webroot/api/users/1