【发布时间】:2017-06-22 17:29:36
【问题描述】:
是否可以在特定控制器中重定向而不更改 URL?我希望这样,如果进入控制器我有来自 GET 请求的错误,它必须向我显示 404 页面。例如,我有以下文件。
index.html:
<!DOCTYPE html>
<html ng-app="app" ng-controller="MainCtrl">
<head>
...
</head>
<body>
...
<ng-view></ng-view>
...
</body>
</html>
app.js:
angular
.module('app', [...])
...
.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'HomeCtrl'
})
.when('/page1', {
templateUrl: 'views/page1.html',
controller: 'Page1Ctrl'
})
.when('/page2', {
templateUrl: 'views/page1.html',
controller: 'Page2Ctrl'
})
.when('/page3', {
templateUrl: 'views/page3.html',
controller: 'Page1Ctrl'
})
...
.otherwise({
templateUrl: 'views/404.html',
controller: '404Ctrl'
});
});
例如,重定向必须在 page1.js 中进行
angular.module('app')
.controller('Page1Ctrl', function($scope, $http) {
$http.get(...).then(function() {
// all ok.
}, function() {
// error, redirect to 404 page.
});
});
我该怎么做?
【问题讨论】:
标签: angularjs redirect http-status-code-404