Angular UI 路由器 - 未找到部分 GET 404
Angular UI Router - Partial GETs 404 Not Found
我目前正在使用 Material Design Lite 和 Angular JS 开发一个项目。我在使用 angular UI 路由器设置简单路由时遇到问题。
这是索引导航栏中的 link。
<div class="mdl-layout__tab-bar mdl-js-ripple-effect">
<a href="/home" class="mdl-layout__tab is-active">Dashboard</a>
<a href="/schedule" class="mdl-layout__tab">Schedule</a>
<a href="/assignments" class="mdl-layout__tab">Assignments</a>
</div>
请注意,我不能在 href 中的 / 之前添加 #,因为 MDL 不会将其识别为有效的选择器。我试过制作正常的 links 但它们仍然无法路由。
这是 ui-route 的应用程序配置。
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise('home');
$stateProvider
.state('home', {
url: '/home',
templateUrl : 'views/dashboard.html'
})
.state('assignments', {
url: '/assignments',
templateUrl : 'views/assignments.html'
});
});
这是我项目的结构。
[app]
[js]
[views
--dashboard.html
--assignments.html]
app.js
主页状态 (dashboard.html) 在索引文件的 ng-view 中加载,但单击 link 时无法显示分配。这是我的 http 服务器控制台中显示的内容。
[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36"
[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" Error (404): "Not found"
感谢您的帮助!
如果您使用 nodejs 服务器来提供页面,您是否在应用程序中使用了 html5Mode(true)?否则,您需要将散列添加到锚标记中。
即
<a href="#/assignments">Assignments</a>
此外,由于您使用的是 ui-router,因此您可以使用 ui-sref 属性直接导航到州名称。
即
<a ui-sref="assignments">Assignments</a>
我目前正在使用 Material Design Lite 和 Angular JS 开发一个项目。我在使用 angular UI 路由器设置简单路由时遇到问题。
这是索引导航栏中的 link。
<div class="mdl-layout__tab-bar mdl-js-ripple-effect">
<a href="/home" class="mdl-layout__tab is-active">Dashboard</a>
<a href="/schedule" class="mdl-layout__tab">Schedule</a>
<a href="/assignments" class="mdl-layout__tab">Assignments</a>
</div>
请注意,我不能在 href 中的 / 之前添加 #,因为 MDL 不会将其识别为有效的选择器。我试过制作正常的 links 但它们仍然无法路由。
这是 ui-route 的应用程序配置。
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise('home');
$stateProvider
.state('home', {
url: '/home',
templateUrl : 'views/dashboard.html'
})
.state('assignments', {
url: '/assignments',
templateUrl : 'views/assignments.html'
});
});
这是我项目的结构。
[app]
[js]
[views
--dashboard.html
--assignments.html]
app.js
主页状态 (dashboard.html) 在索引文件的 ng-view 中加载,但单击 link 时无法显示分配。这是我的 http 服务器控制台中显示的内容。
[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36"
[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" Error (404): "Not found"
感谢您的帮助!
如果您使用 nodejs 服务器来提供页面,您是否在应用程序中使用了 html5Mode(true)?否则,您需要将散列添加到锚标记中。
即
<a href="#/assignments">Assignments</a>
此外,由于您使用的是 ui-router,因此您可以使用 ui-sref 属性直接导航到州名称。
即
<a ui-sref="assignments">Assignments</a>