【发布时间】:2013-07-27 16:52:31
【问题描述】:
我有一个支持 angularjs 前端的 grails 应用程序。它们被部署为单个 WAR。我已经从应用程序中删除了上下文路径,以便它在 http://localhost:8080 上运行。
我有一个文章列表,我有$routeProvider 设置将/ 重定向到/articles,此时控制器接管并通过$http 提取列表。很标准的东西。
最初,我使用默认位置提供程序配置,因为在 URL 中使用了哈希 (#)。我已经通过
$locationProvider.html5Mode(true);
一切仍然有效。但是,如果我直接在地址栏中更改 URL 并按 Enter 键,或者如果我只是在 /articles 处刷新浏览器,则服务器端会接管并且我只是将我的文章列表作为 json 获取。没有棱角。我理解为什么会发生这种情况,现在我所做的是在服务器上检测到一个非 ajax 请求并发出重定向到/,这将允许 angular 启动。
我想知道这是否正确。或者还有什么我可以做的更好的做法。
【问题讨论】:
-
#s 不能使用标准方式是有原因的吗? -
并非如此。我只是想学习 angularjs,并尝试不同的方法来看看什么最适合我想要实现的目标。