Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 有不同的请求和响应模型-backbone.js_Javascript_Backbone.js - Fatal编程技术网

Javascript 有不同的请求和响应模型-backbone.js

Javascript 有不同的请求和响应模型-backbone.js,javascript,backbone.js,Javascript,Backbone.js,由于请求和响应不匹配,我可以为请求和响应使用单独的模型吗。这是一个完整的RPC调用,而不是CRUD操作。我以前也考虑过同样的问题,我觉得在主干网中没有一个很好的方法来实现这一点。我想到的最好方法是在模型上实现fromResponse和toRequest方法,并重写模型对象并将其映射到它们。比如: //A backbone model var RequestModel = Backbone.Model.extend({}); //A backbone model var ResponseMode

由于请求和响应不匹配,我可以为请求和响应使用单独的模型吗。这是一个完整的RPC调用,而不是CRUD操作。

我以前也考虑过同样的问题,我觉得在主干网中没有一个很好的方法来实现这一点。我想到的最好方法是在模型上实现
fromResponse
toRequest
方法,并重写模型对象并将其映射到它们。比如:

//A backbone model
var RequestModel = Backbone.Model.extend({});

//A backbone model
var ResponseModel = Backbone.Model.extend({});

RequestModel.save({
    success: function (ResponseModel ) {
        alert(ResponseModel .toJSON());
    }
})
如果
parse
sync
在某种基类中被重写,那么您只需要为每个模型实现
fromResponse
toRequest
映射器

另一个选项是覆盖主干.sync,并将每个
模型
类型映射到某种
模型请求映射器
模型响应映射器
对象以(反)序列化每个模型。我觉得这会更复杂,但如果你有很多模型,可能会扩展得更好


/代码示例未测试

我以前也考虑过同样的问题,我觉得在主干网中没有一个很好的方法来实现这一点。我想到的最好方法是在模型上实现
fromResponse
toRequest
方法,并重写模型对象并将其映射到它们。比如:

//A backbone model
var RequestModel = Backbone.Model.extend({});

//A backbone model
var ResponseModel = Backbone.Model.extend({});

RequestModel.save({
    success: function (ResponseModel ) {
        alert(ResponseModel .toJSON());
    }
})
如果
parse
sync
在某种基类中被重写,那么您只需要为每个模型实现
fromResponse
toRequest
映射器

另一个选项是覆盖主干.sync,并将每个
模型
类型映射到某种
模型请求映射器
模型响应映射器
对象以(反)序列化每个模型。我觉得这会更复杂,但如果你有很多模型,可能会扩展得更好


/代码示例未测试

我认为当有不同的请求和响应时,最好使用普通的ajax调用,顺便说一句,我可以为这两种调用提供一个通用的模型。。。但并没有让它复杂化。答案是+1。我可能不需要使用toRequest和fromResponse方法,但是
sync
parse
的存在是为了将端点抽象到模型中。当然,您可以使用plan ajax调用,但是使用主干网有什么意义呢?我认为当有不同的请求和响应时,最好使用普通ajax调用,顺便说一句,我可以为这两种调用提供一个通用的模型。。。但并没有让它复杂化。答案是+1。我可能不需要使用toRequest和fromResponse方法,但是
sync
parse
的存在是为了将端点抽象到模型中。当然,您可以使用plan ajax调用,但是使用主干网又有什么意义呢?