gpt4 book ai didi

javascript - 防止 Angular $httpProvider 拦截器在模板加载时触发

转载 作者:行者123 更新时间:2023-11-29 19:30:08 25 4
gpt4 key购买 nike

想要一个简单的拦截器,它会在每 200 个状态时触发一个记录方法。这很容易设置,但现在我注意到我所有的 Angular 模板也是通过 $httpProvider 加载的,因此触发了我的 200 拦截器。有什么方法可以区分模板加载和实际 API 调用吗?

  $httpProvider.interceptors.push(function() {
return {
response: function(response) {

if(response.status === 200) console.log(response);
return response;
}
};
});

最佳答案

是的。你可以。在响应对象中,有一个配置对象,配置对象内部是您请求的资源的 URL。所以,

 $httpProvider.interceptors.push(function() {
return {
response: function(response) {

function endsWith ( str, suffix ) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

if(response.status === 200 && !endsWith( response.config.url, '.html') ) console.log(response);
return response;
}
};
});

关于javascript - 防止 Angular $httpProvider 拦截器在模板加载时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28313548/

25 4 0
文章推荐: 将数据库和网站移至同一台机器后,PHP 无法连接到 mysql
文章推荐: java - 使用spring工具套件中的jpa工具生成涉及外键和复合主键的实体后​​运行服务器时出现异常
文章推荐: python - 优化 "group by"并保持最大值或最小值 - MySQL/Python
文章推荐: android - List 而不是一个类 GSON 中的多个对象