近日同事在项目中遇到个问题:用户A在使用某产品前端页面时从数据库中选择某张特定的表后调用接口获取相关数据失败,而其他表都是正常的。然后他在自己和同事的电脑上按同样的步骤操作,有些同事能够复现,有些不能复现。我按照他提供的步骤尝试复现了一下,发现相关请求是被拦截了:
控制台的报错信息:
GET http://xxx?table=activity_advertisement_info net::ERR_BLOCKED_BY_CLIENT
Network请求的报错信息:
原因定位
首先看到ERR_BLOCKED_BY_CLIENT
应该能知道是客户端拦截了,然后看到此请求是GET请求,并且url中还包含有advertisement字样,能够意识到可能是广告拦截插件的原因,看了一眼AdblockPlus
的图标果然在此页面上有拦截记录,将插件关闭后重试果然可以了。
在Chrome Devtools的Adblock Plus面板中查看,发现是触发了EasyList China+EasyList (compliance)中的_advertisement_$domain&#