从Backbone.js中的“model”执行Ajax请求是否正确?从“路由器”更正确吗? 我不使用RESTful for Backbone(由于其他原因)。当我说“做Ajax请求”时,我的意思是Ajax函数在模型中实现。该函数可以被调用(并且)在模型之外。在Backbone.js中执行来自模型的Ajax请求是否正确?
我的web应用程序不使用路由器(仅视图和模型)。当我在应用程序中导航时,我不想在浏览器中使用网址路径。会有什么问题?
从Backbone.js中的“model”执行Ajax请求是否正确?从“路由器”更正确吗? 我不使用RESTful for Backbone(由于其他原因)。当我说“做Ajax请求”时,我的意思是Ajax函数在模型中实现。该函数可以被调用(并且)在模型之外。在Backbone.js中执行来自模型的Ajax请求是否正确?
我的web应用程序不使用路由器(仅视图和模型)。当我在应用程序中导航时,我不想在浏览器中使用网址路径。会有什么问题?
你的路由器应该尽可能干净,所以绝对不会有。
在您的模型中,您可以定义模型的URL。
在您看来,您只需调用model.fetch()。
我使用(看)最常见的模式是这样做:
var MyApp.myModel = Backbone.Model.extend({
url: '/someResourceUrl'
});
var MyApp.myView = Backbone.View.extend({
initialize: function() {
this.model.bind("change",this.render,this);
this.model.fetch();
},
render: function() {
alert('do awesome stuff here');
}
});
这是正确的把AJAX请求的模型,因为它是商业逻辑。这是根据一般的MVC原则以及Backbone.js的文档:
“如果你的应用程序需要收集来自服务器的数据,本地存储 ,饼干等则模型正是这应该发生在。 事实上,例如,该模型是整个系统中唯一应该知道 有关XMLHttpRequest的任何地方。您可能在 模型图层中有代码,它为您加载代码并创建模型对象。 - http://michaux.ca/articles/mvc-architecture-for-javascript-applications
“模型 - 视图 - 控制器(MVC)是一种软件体系结构图案,其 分离的从用户的 与它相互作用信息的表示[1] [2]该模型由应用数据, 业务。规则,逻辑和功能。“ - http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
“Backbone.Model - 类似于Rails模型,减去类方法,在业务逻辑中包含 行数据。” - http://backbonejs.org/
好的。但是Ajax请求......在哪里? – vicenrele
主干在您调用fetch时自动处理ajax请求。 –
好的。抱歉。我没有评论说我不使用RESTful的Backbone(由于其他原因)。我在模型中实现了Ajax函数。 – vicenrele