playframwork angularjs 路由器

playframwork angularjs router

我有一个在 Play 框架之上带有 AngularJS 的应用程序。只想将 Play 框架用于服务。 如何使我的 angularjs 路由正常工作?我的应用程序总是在 Play 路线中查看,从不查看 Angularjs 路线,因此给出了找不到路线的错误。

我在 scala 中看到了一些示例。不太明白他们在做什么。

播放路线:

POST /location @controllers.Application.create()

GET /location/:id @controllers.Application.get(:Id)

GET / @controllers.Application.list()

AngularJS 路线:

config(['$routeProvider', '$locationProvider',
           function($routeProvider, $locationProvider) {
        console.log('In routeProvider()'+Date.now());
              $routeProvider.
                  when('/', {
                                 templateUrl: 'html/test.html',
                                 controller: 'LocationsController'
                 }).
                   when('/location/:id', {
                                 templateUrl: 'html/test.html',
                                 controller: 'LocationController'
                 }).
                  when('/locations', {
                                 templateUrl: 'html/test.html',
                                controller: 'LocationsController'
                });
        console.log('In routeProvider()..2'+Date.now());
               $locationProvider.html5Mode(true); // .hashPrefix("!")
      }])

比如我要http://localhost:9000/ should hit Angularjs routings first. Angularjs controller will go get the data by requesting play service. Similarly, http://localhost:9000/location/100需要先打Angularjs。相应的 angularjs 控制器将通过请求 play 的 /location/100 获取给定 id 的数据。

我的应用程序总是在 Play 路线中查看,从不查看 Angularjs 路线,因此给出了找不到路线的错误。我如何让他们两个都工作?感谢您的帮助。

我会建议你,而不是让 Angular JS 与 play 项目,你会摆脱 Angular JS 作为单独的应用程序(你可以使用 express 作为节点的服务器顶部) ,并使用 $ngResource 进行任何 REST 调用或使用 Angular 中的 $http 进行 Ajax 调用,然后提供来自 Play 框架的响应。

我也搜索了很多项目来将 Angular 与 play 集成,但我没有找到合适的项目。

注意:您需要使用 Action 组合在 Play 服务器中启用 CORS,以允许 Angular 应用程序与 Play 服务器交互 http://playframework.wiki/index.php?title=Access-Control-Allow-Origin