Angular.js -重定向不起作用
Angular.js - Redirection not working
我很难理解Angular.js路由的行为
我的代码
我app.js:
'use strict';
var app = angular.module('myApp', []).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/game/room', {templateUrl: 'roomGame', controller: roomCtrl});
$routeProvider.otherwise({redirectTo: '/game/room'});
$locationProvider.html5Mode(true);
}]);
index.js,其中我定义了路由服务器端:
app.get('/game', function (req, res)
{
console.log("we are in /game");
res.render("game/index", {
user: req.session
});
});
app.get('/game/roomGame', function (req, res)
{
console.log("we are in /game/roomGame");
res.render("game/roomGame";
});
index.jade:
div(ng-controller="indexCtrl")
a(href='/') Quitter
div(ng-view)
还有一个文件:roomGame。但是给你看源代码并不重要。
现在我打开浏览器,输入:localhost:3000/game。
如预期的那样,我被重定向到localhost:3000/game/room,它向我显示了预期的视图。
但是当我输入:localhost:3000/game/room或localhost:3000/game/foo显示"cannot GET/game/xxx"
我想被重定向到/game,然后到/game/room。这怎么可能?
当您看到预期的视图时,您是否被重定向到http://localhost:3000/#/game/room
?注意#
。
当你输入http://localhost:3000/game/room
时,它会击中express服务器,而不是你的Angular应用,试图匹配/game/room
,因此你看到的消息。
app.get('/game/:what', function (req, res) {
res.redirect('/#/game/' + req.params.what);
});
或更可能:
app.get('/game/*', function (req, res) {
res.redirect('/#/game');
});
这会把东西从express重定向到Angular可以处理的地方。
相关文章:
- 在phonegap应用程序内部重定向不起作用
- 角度 JS + 重定向不起作用
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- UI 路由器参数 URL 不起作用,只是重定向到 /
- 从帖子返回后,Javascript重定向不起作用
- 重定向不起作用
- 登录后PHP登录脚本重定向不起作用
- 使用self.location.href重定向不会'不起作用
- 重定向到PDF时像素跟踪代码不起作用
- j查询页面重定向在按钮单击时不起作用
- 在Kentico中使用response.write重定向HTML表单不起作用
- window.location.href 不起作用,无法重定向
- 路由提供程序否则重定向到不起作用
- 样式<输入类型=“范围”>用于重定向,在触摸设备上不起作用
- 花式框默认关闭在表单重定向后不起作用
- 在 mvc 应用程序中使用 href 属性重定向 asp.net 不起作用
- Facebook 登录重定向 PHP/Javascript 不起作用
- 弹出窗口重定向在IE中不起作用,但在其他浏览器中可以
- Spring ModelandView 重定向在 jquery ajax 调用中不起作用
- Python 重定向到 URL 不起作用