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

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

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

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

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

在这方面需要您的思考。

最佳答案

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

拦截器必须捕获404响应,从服务器加载404.html页面,然后
将其与状态代码200一起设置为初始响应的数据。

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

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

仔细看看main.js文件。

关于javascript - Angular : $http 404 error handling,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13603078/

10-10 00:25
查看更多