從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