小编Pas*_*ake的帖子

如何捕获无效的URL?

我正在使用Angular JS ui-router构建一个简单的HTML站点.

我已经构建了一个自定义404页面('www.mysite /#/ error/404'),如果用户键入了像'www.mysite /#/ invalidUrl'这样的URL,用户将被重定向到该页面.此功能通过以下代码段实现:

$urlRouterProvider
            .when('', '/')
            .when('/home', '/')
            .otherwise('/error/404');
Run Code Online (Sandbox Code Playgroud)

以下状态片段:

$stateProvider.state('404', {
            parent: 'app',
            url: '^/error/404',
            views: {
                'errorContent@main': {
                    controller: 'error404Controller',
                    templateUrl: 'js/general/templates/error404.html'
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

我正在尝试捕获用户请求的无效URL,以便向用户显示,如下所示.

无法找到您请求的网址
请求:www.mysite.com/#/invalidUrl

我试过听'$ stateNotFound'事件,这似乎只是在请求特定的无效状态时触发.我也试图听'$ stateChangeStart','$ locationChangeStart'和'$ locationChangeSuccess'事件,但找不到实现此功能的方法.

这可能吗?请分享您的想法 - 谢谢

http-status-code-404 angularjs angular-ui-router

6
推荐指数
1
解决办法
2227
查看次数