配置阶段后是否可以访问/修改$http
拦截器?我正在调试一个由于部署在不同的服务器上而只会中断生产的应用程序,所以不幸的是我无法在本地更改拦截器代码并弄清楚发生了什么。
如果无法访问/修改拦截器,也许可以替换$http
. 这是替换假设服务的示例:
var inj = angular.element('body').injector(),
oldGet = inj.get,
mockService = { secret: 'shhh' };
inj.get = function(str) {
if (str === 'some-service') {
return mockService;
} else {
return oldGet.apply(inj, arguments);
}
};
但是,我不确定如何创建新$http
服务(我可以将修改后的拦截器传入其中)。我也抢$httpProvider
不到
ng-app
也许在页面的单独部分上引导一个新的会起作用?然后我可以抓住$http
服务并更换它,就像上面一样。
其他想法:
- 参考:在Angular中禁用/删除http拦截器的正确方法?,如果我在配置阶段不保留它,我似乎无法访问拦截器数组。
- 也许我可以使用油脂猴子来注入在配置阶段运行的东西。
谢谢!