这是一个复杂的问题:
我分两部分实现了REST应用程序:
在客户端,我的Backbone App使用骨干路由器api,例如我有这个uri:
“HTTP://本地主机:8000 /对myApp /#/资源1 /属性”
这是一个Backbone路由,就像我或许,当我把这个url放在Web浏览器中时,浏览器发送到服务器:“http:// localhost:8000 / myApp /”但是第二部分(片段)它是从服务器下载应用程序时执行的,我想这是正确的......
好吧,因为我正在使用Restlet实现我自己的Web服务器,我想要下一个场景:
为了实现这一点,我在我的restlet服务器上实现了一个重定向,当一个对url的传入请求:“http:// localhost:8000 / myApp / resource1 / attribute”我将它重定向到这个url:“http: // localhost:8000 / myApp /#/ resource1 / attribute /“with 307(临时重定向),并在”Location“标题中设置url。
此时一切正常,浏览器通过重定向接收响应,浏览器再次使用此URL调用服务器。我在网址栏中看到了重定向网址。 但是,路由不起作用,我收到了webApp,但看起来浏览器没有执行uri的片段。
也许,任何人都可以向我展示光明吗?
答案 0 :(得分:1)
问题在于重定向中的响应URL。最后一个'/'必须省略,因为backbone.router中的路由是: “resource1 /:variable”:“variableFunction”
浏览器上执行的片段现在可以正常工作。