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