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’)是否已定義。如果沒有,模型 isNew
和 url
將簡單地返回 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