2012-09-04 65 views
2

執行這要問一個複雜的問題:片段的URI不能在瀏覽器

  • 服務器:與2.0.14的Restlet實現
  • 客戶

    我在2份implented REST應用程序: Web應用程序與Backbone.js的

在客戶端,我的主幹應用程序使用骨幹路由器API,例如我有這個URI:

的「http://本地主機:8000 /對myApp /#/資源1 /屬性」

這是一個主幹航線,像我或許,當我在Web瀏覽器把這個URL,瀏覽器向服務器發送:「http:// localhost:8000/myApp /」,但是當他從服務器上下載應用程序時執行它的第二部分(片段),我想這是正確的...

嗯,因爲我實施具有的Restlet自己的Web服務器,我想在下一個場景:

  • 當用戶在瀏覽器把這個網址:「HTTP://本地主機:8000 /對myApp /資源1 /屬性」我的服務器必須返回骨幹網絡應用程序,並且瀏覽器需要使用片段加載正確的視圖(使用路由)。

要實現這一點,我實現了一個重定向我的Restlet服務器,當傳入請求的URL:「HTTP://本地主機:8000 /對myApp /資源1 /屬性」我把它重定向到這個網址:使用307(臨時重定向)「http:// localhost:8000/myApp /#/ resource1/attribute /」,並在「位置」標題中設置網址。

這一切都正確,瀏覽器接收到重定向的響應,瀏覽器再次使用此URL調用服務器。我在url欄中看到重定向url。 但是,路由不起作用,我收到webApp,但它看起來像瀏覽器不執行uri的片段。

也許,任何人都可以給我看光?

回答

1

問題在於重定向中的響應url。最後的'/'必須省略,因爲backbone.router中的路由是: 「resource1 /:variable」:「variableFunction」

現在在瀏覽器上執行的片段正常工作。