这是一个复杂的问题:
我在两部分中实现了一个 REST 应用程序:
- 服务器:使用 Restlet 2.0.14 实现
- 客户端:带有 Backbone.js 的 WebApp
在客户端,我的主干应用程序使用主干路由器 api,例如我有这个 uri:
“http://localhost:8000/myApp/#/resource1/attribute”
这是一个主干路由,就像我一样,当我把这个 url 放在网络浏览器中时,浏览器会发送到服务器:“http://localhost:8000/myApp/”,但第二部分(片段)用于执行当他从服务器下载应用程序时,我想它是正确的......
好吧,因为我正在使用 Restlet 实现自己的 Web 服务器,所以我想要下一个场景:
- 当用户在他的浏览器中输入这个 url:“http://localhost:8000/myApp/resource1/attribute”时,我的服务器必须返回主干 webapp,并且浏览器需要使用片段加载正确的视图(使用路由) .
为了实现这一点,我在我的restlet服务器上实现了一个重定向,当一个传入请求到url:“http://localhost:8000/myApp/resource1/attribute”时,我将它重定向到这个url:“http://localhost :8000/myApp/#/resource1/attribute/" 带有 307(临时重定向)并在“Location”标头中设置 url。
此时一切正常,浏览器收到重定向响应,浏览器再次使用此 url 调用服务器。我在网址栏中看到重定向网址。但是,路由不起作用,我收到了 webApp,但看起来浏览器没有执行 uri 的片段。
也许,任何人都可以给我看灯?