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