在角度SPA中设置404页面的最佳方法?

时间:2014-06-19 14:37:19

标签: angularjs

我有一个在角度运行的应用程序,我已经有一个http拦截设置。我的问题是我的api返回了一些404错误,我想重定向到404页面,有些我不会。例如,当导航到新页面时,如果该页面的内容返回404,我想指向404页面而不是加载空模板。但是,在用户正在结账的页面上(支付购买的商品),我会检查他们是否有存储在文件中的信用卡令牌。如果他们这样做,我们可以为他们提供使用它的选择。如果他们没有文件,api会返回404,我们要求他们输入一个。

我的问题是,由于这两种情况,在调用404的任何时候调用$ state.go('404')并不那么简单。我正在权衡几个选项。一,如果它应该重定向到404,api会返回一条特殊的消息。这似乎不太理想,不是api的责任,我们在共享的api上有多个客户端。我可以尝试检测http拦截中的当前状态/页面,并创建应该重定向的状态列表。我可以$ rootScope。$ broadcast('no-template-data')或类似的每个需要这个的控制器,并从全局app.run函数重定向。

有没有其他人在单页应用程序中遇到这个挑战?

0 个答案:

没有答案