一尘不染

Angular:$ http 404错误处理

angularjs

我有2 ng-包括HTML。考虑服务器中是否不存在ng-include
src之一。截至目前,它只会加载空白html,并且在浏览器控制台中会显示未找到http-404文件。

因此,在这种情况下,我只想将默认错误页面(服务器中存在)加载到该特定div中,即一半显示默认错误页面,另一部分显示通过nginclude加载的正确div。

我的逻辑是,使用HTTP拦截器拦截所有HTTP调用。无论何时发生404错误,我都想返回默认错误页面,该页面必须仅加载到div中。因此,这就像嘲笑正确的http调用,而是发送错误页面,我认为必须将其加载到正确的div。

但这没有发生:)。我尝试使用默认的window.load(’‘)。但随后,它会加载到页面顶部,并存在于各个页面中。

还是我应该捕获div id(如果是,怎么办?),然后tat id加载默认错误HTML吗?

需要您的考虑。


阅读 161

收藏
2020-07-04

共1个答案

一尘不染

要处理这种情况,您可以使用http拦截器(在此处找到文档:$
http
)。

拦截器必须捕获404响应,从服务器加载404.html页面,并将其设置为初始响应的 数据 以及 状态 码200。

我创建了一个项目,展示了如何解决它。

仓库:https :
//github.com/matys84pl/angularjs-nginclude-
handling-404/

仔细看看main.js文件。

2020-07-04