Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干网中的覆盖同步方法_Javascript_Backbone.js - Fatal编程技术网

Javascript 主干网中的覆盖同步方法

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

我正在做一个名为person的模型,我使用parse.com javascript api。为了将模型发送到parse.com,我们创建了一个my函数send,但我认为这是错误的。我认为我必须用api parse.com覆盖sync方法,并在创建的模型上使用save方法。是吗

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