我正在尝试使用RESTful api来注册用户。
这是我的型号代码:
var User = Backbone.Model.extend({
idAttribute: '_id',
host: 'http://localhost:3000',
url: '/api/user'
});
这是我视图中用于处理注册按钮的代码:
signupClick: function (e) {
e.preventDefault();
var email = $('#input-email').val();
var pwd1 = $('#input-pwd').val();
var pwd2 = $('#input-pwd2').val();
if(pwd1 !== pwd2) {
return alert('password does not equal');
}
var user = new UserModel({email: email, password: pwd1});
user.sync();
}
API在localhost上: POST / api / user 正文:{email:' email@email.com' ;,密码:' 123456'}
但是我在浏览器控制台中收到以下错误信息:
未捕捉错误:A" url"必须指定属性或功能
我在这个模型中做错了什么?谢谢!
答案 0 :(得分:0)
默认情况下,模型通过推迟到其包含的集合" url()"来生成网址。功能。如果您的模型不是由集合管理的,则应指定模型" urlRoot"属性。
因此,在您的示例中,将您的模型更改为此,您应该获得以下内容:
var User = Backbone.Model.extend({
idAttribute: '_id',
host: 'http://localhost:3000',
urlRoot: '/api/user'
});
[相关文档在这里:http://backbonejs.org/#Model-url]