2011-09-22 58 views
0

我剛剛爲工作實驗選取了BackboneJS。我們在我們的平臺上實施了大量的網絡應用,所以使用JS框架可以簡化很多東西。但是,查詢服務器的方法是使用附加到腳本名稱後面的常規HTTP查詢字符串;例如,getSomething?id = 0 & name = 2。基本上我想知道是否可以在主幹(或者,如果有人可以推薦另一個流行的框架,那個)將/ getSomething /:id /:名稱映射到基本上使其成爲/ service/rest/getSomething的HTTP查詢字符串?id =:id & name =:name。BackboneJS:將RESTful URL映射到老派HTTP查詢URL

任何幫助表示讚賞。謝謝。

+0

注意:我在想,也許我可以使用* splat來做到這一點,但這看起來有點醜。 –

回答

1

Backbone實際上並不要求您在其模型中使用REST等。如果您決定跳過這一點,他們仍然可以讓您使用.set()來更新模型,以便通過另一種方法分配一組新的值。實際上,我有幾個模型,可能會在模型上打上.fetch(),但它會對服務器執行一次或多次調用以獲取數據並將其設置回模型。我們的後端服務對於內置保存和提取模型的同步設置主幹來說並不是一個很好的選擇。

小澄清:我應該說,我在這裏做的是覆蓋我的模型上的「fetch」函數與使用jQuery $ .ajax()調用的替代實現。

我不確定你最初提出的整個問題,但是關於映射URL。 Backbone路由器所需的URL被拉開,您將獲得單獨的部分。我不希望路由器曾經直接調用後端,但我希望路由器可以將這些路由傳遞給模型上的一個調用,然後再與該服務進行交互以獲取數據。因此,只有模型層可以看到服務的後端細節和任何必要的數據映射,路由器和視圖保持清潔這些細節。

+0

謝謝。你清理了一堆東西。看起來我在這個週末將不得不攪亂一下。它似乎是我們應用程序開發的完美契合 - 這只是一個引導基礎項目的問題;那是真正的克隆。 您可以舉一個模型中的提取示例嗎?爲了處理外部服務器數據,我遇到的每個教程都是通過基於路由器中返回的JSON返回一個Model來完成的。 我按照這個教程非常接近fwiw:http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/ –