Javascript 主干网中的覆盖同步方法
我正在做一个名为person的模型,我使用parse.com javascript api。为了将模型发送到parse.com,我们创建了一个my函数send,但我认为这是错误的。我认为我必须用api parse.com覆盖sync方法,并在创建的模型上使用save方法。是吗Javascript 主干网中的覆盖同步方法,javascript,backbone.js,Javascript,Backbone.js,我正在做一个名为person的模型,我使用parse.com javascript api。为了将模型发送到parse.com,我们创建了一个my函数send,但我认为这是错误的。我认为我必须用api parse.com覆盖sync方法,并在创建的模型上使用save方法。是吗 var Person = Backbone.Model.extend({ defaults: {}, initialize:function() { console
var Person = Backbone.Model.extend({
defaults: {},
initialize:function() {
console.log("inperson");
},
validate:function() {
console.log("validate");
},
send:function() {
var user = new Parse.User();
user.set("username", this.get("username"));
user.set("password", this.get("password"));
user.set("email", this.get("email"));
user.signUp(null, {
success: function(user) {
},
error: function(user, error) {
alert("Error: " + error.code + " " + error.message);
}
});
}
});
return Person;
});
主干仅使用一种同步方法(
Backbone.sync
)。所有与服务器“对话”的方法集合和模型都会通过此方法进行操作。您可以简单地通过以下方式覆盖它:
Backbone.sync = function(method, model, options) {
// method is send through methodMap witch is an object:
//var methodMap = {
// 'create': 'POST',
// 'update': 'PUT',
// 'patch': 'PATCH',
// 'delete': 'DELETE',
// 'read': 'GET'
//};
// model refers to the active model and you can use model.attributes to get all the attributes.
// So in here you can write your integration with parse.com and not change anything else while using backbone.
// Remember to trigger `sync` etc.
};
但是我可以看到parse.com allready有一个REST api,所以这可能不是解决方案。如果我有两个不同的api,根据两个不同的模型将数据发送到服务器?示例:模型:person有一个api,因为parse支持用户身份(密码、邮件、ecc),和其他模型有不同的相同api。我必须编写一个if来区分案例?是的,parse有rest api,但我想使用parse的javascript api。如果您试图使用parse创建一个对象,您需要扩展
parse.object
而不是主干.model
。也就是说,我不确定我是否明白你在做什么。为什么调用“send”后不存储对用户的引用?为什么不扩展Parse.User
?