【发布时间】:2013-02-06 00:17:30
【问题描述】:
当我尝试创建动态路由时,我收到了几个“意外令牌
.when('/user',{
templateUrl: 'views/user/new',
controller: "addUserCtrl"
})
请求到达服务器并被我的 express 捕获所有路由处理程序捕获,然后 angular 启动并请求 express 的 api 路由、api/用户、绑定数据、控制器和模板,我看到了一个不错的页面。一切正常。没有错误。
如果我尝试创建动态路由或更深度的路由,当我尝试请求该路由时会收到意外的令牌错误:
.when('/user/:id',{
templateUrl: 'views/user/new',
controller: "addUserCtrl"
})
例如,当我请求 /user/3 时,我收到错误,并且 addUserCtrl 永远不会被调用。任何可能导致这种情况的想法。
.when('/user/show,{
templateUrl: 'views/user/new',
controller: "addUserCtrl"
})
请求 /user/show 也会抛出错误。在控制台中,错误显示在我在索引正文中加载的所有角度文件(angular.js、App.js、services.js、controllers.js、filters.js、directives.js)的请求旁边.html。
我注意到,每当我在路由中添加多个斜杠时,就会出现这个问题。如果我尝试 /user/show,我可以看到以下请求:
/user/show
syntax errors for the below:
/user/js/App.js
/user/js/lib/angular/angular.js
/user/js/filters.js
/user/js/controllers.js'
/user/js/services.js
/user/js/directives.js
如果我尝试 /abc/def,我将收到以下请求:
/abc/def
syntax errors for the below:
/abc/js/App.js
/abc/js/lib/angular/angular.js
/abc/js/filters.js
/abc/js/controllers.js'
/abc/js/services.js
/abc/js/directives.js
【问题讨论】:
-
可能是因为 /user/show 和 /user/:id 冲突?尝试摆脱一个。
-
不幸的是,这不是问题,因为我实际上是用 /user/show 替换 /user/:id。我删除了所有路线,只有一条。其实我把所有的路由都去掉了,还是得到了语法错误unexpected toekn error,这样比较混乱。如果我尝试 /abc/def 之类的东西,它会给我错误。当我在路径中输入两个或多个斜杠时,我会收到错误消息。