javascript - 如何在AngularJS中维护404页面的url

标签 javascript angularjs http-status-code-404 url-routing

我们正在开发一个 angularjs 应用程序,用户可以在其中将他或她的个人资料作为简历发布。

例如,如果用户有已发布的个人资料,则以下 url 有效:

www.page.com/public/johnsmith

但是如果出现

www.page.com/public/johnsmith2345

这不是公开的个人资料,我想显示 404 页面。问题是,由于 Angular 的路由,我必须重定向到 404 页面,因此 url 将被重写为

www.page.com/404.

维护原始 url 甚至使其在 IE9 中工作的正确实现是什么?

最佳答案

据我所知,执行此操作的唯一方法是在 Controller / View 中处理此问题。例如

$routeProvider.when('/public/:user', 
    {
        templateUrl: 'profile.html',
        controller: 'profileCtrl',
        resolve: {
            userProfile: {
                //Try and load the user's profile. Resolve null if the profile can't be found
            }
        }
    }
);

var profileCtrl = function($scope, userProfile) {
    $scope.userProfile = userProfile;
}

个人资料.html:

<div ng-if="!userProfile">
    <div ng-include="404page.html"></div>
</div>
<div ng-if="userProfile">
    ... Profile view here
</div>

关于javascript - 如何在AngularJS中维护404页面的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24206552/

相关文章:

javascript - 如何在 CI 中向 json 对象添加循环数据?

javascript - IE 10拖放上传给出空dataTransfer

javascript - 如何从 Promise 内部访问 JavaScript 类的属性? (使用ES6而不是Self)

javascript - ngOptions 默认选择所有选项并在选择时消失选项

objective-c - 我怎样才能得到 NSURLResponse 正文?

Grails:如何使用/**映射 404

javascript - jQuery 窗口进入/退出 View 处理程序

JavaScript 评估元素内的 XPATH?

javascript - Angular Directive(指令)绑定(bind)

jquery - 请求 jquery.min.map 文件时出现引用 404 错误