问题标签 [angular-http-interceptors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - HTTP 拦截器:使用 url 参数而不是标头进行基于令牌的身份验证
我在 AngularJS 中使用我的后端 api 进行基于令牌的身份验证的以下代码:
这会将“授权”标头设置为我的令牌。
如何修改我的代码以使用 URL 参数(名为“access_token”)而不是标头?
angularjs - 没有拦截器的AngularJS错误代码401处理?
以下是我使用的代码,如果基本身份验证成功,我会收到身份验证成功警报,但是当凭据错误时,永远不会显示 else 警报“身份验证失败”。我不使用任何路线,也不需要使用拦截器。有没有办法在不使用拦截器的情况下获得 401 错误?
在控制器中:
angularjs - 使用 auth-http-interceptor 广播 login-confirmed
我正在使用 auth-http-interceptor 广播登录确认。我有一个 main.html 应该检查用户是否登录。
和指令
和登录控制器
1) 但是,我没有获得任何 console.logs。我的代码有什么问题吗?
2)我是对的,登录确认只被触发一次,而不是在我的登录会话中多次触发?
angularjs - 网络中显示的一个响应多次调用 httpInterceptor 响应
我正在尝试在我的 Angular 应用程序中使用 http 拦截器。现在,我在控制台中看到一个请求被触发并成功返回响应,但是如果我在 httpInterceptor 的响应部分添加控制台日志,控制台日志会被触发几次(~10 次)。
我在我的应用程序的配置部分添加拦截器,如下所示:
我这样定义它:
angularjs - 在延迟加载的模块中注册 HTTP 拦截器
早上好,我遇到了一个我自己似乎无法解决的问题。
我正在尝试在与初始配置块不同的位置注册一个 httpinterceptor。
这样做可以按预期工作:
但是拦截器是子模块的一部分。所以我的应用程序如下所示:
编辑:
此外,子模块是延迟加载的。但我不认为这是问题的根源。
我尝试通过添加以下内容来引用初始配置块中的 httpProvider:
所以我可以稍后注册一个拦截器。这甚至在最初的 run() 块中都行不通。检查提供者,它似乎有效,但从未调用过拦截器。
有谁知道如何解决这个问题?我正在尝试将身份验证令牌添加到请求的标头中。
提前感谢,奥卢
angularjs - 是否可以截取angularjs中使用的html、css和js文件?
我已经创建了一个 http 拦截器,根据我的观察,它只适用于所有使用 $http 服务的人。如果我想拦截模板中使用的 css、html 和 js 文件怎么办?是否可以?
这是我上面提到的拦截器的代码:
我希望能够像上面的那样为 css、html 和 js(用于模板)做一个拦截器。
angularjs - ng mock e2e 意外请求
我在使用 Angular JS 开发 UI 时使用 ngMockE2E 来模拟 httpBackend。该应用程序在带有由虚拟机提供的后端的灰熊服务器上运行。现在,当我访问网站时,控制台会记录错误:
意外请求:GET /api/info
预计不再有请求
就我而言,我只想模拟一个数据库的数据。除此之外,我想通过一个按钮即时打开/关闭模拟。这一直有效,直到出现错误。对于这种情况,我写了以下内容:
除此之外,我还添加了以下内容以传递所有其他请求:
javascript - 使用多个模块路由内联视图不起作用 - $http 拦截器可能导致错误
我正在使用 Angular 进行项目。
这个想法是有不同的模块,每个模块都可以注册自己的路线。部分将全部在同一个 HTML 内联中。但是它不起作用...
这是 plunkr http://plnkr.co/edit/n3q1FW95LD24XqTF37aZ
代码类似于:
和 JS:
在 plunkr 中可以看到完整的代码不起作用...
javascript - HTTP 拦截器中的 Angular HTTP
我需要将必要的 HMAC 标头附加到请求中。这应该不是很困难,但是我开始感到沮丧。以下代码有什么问题。我正在做的实际http调用有效;我自己运行了这个调用,它返回了必要的数据。它在拦截器内部不起作用。
我只想让当前的实现工作,然后再为这个拦截器添加白名单或黑名单和其他可定制的数据。然而,这不是关于 hmac 的问题,而是关于承诺的问题。
这个拦截器的错误在于整个承诺行从 $http(...) 开始。当我删除此块并按原样使用它(减去承诺执行)时,它工作正常。一旦我取消注释该行,它就会陷入循环并崩溃 chrome。我读过的所有地方都说这就是它的完成方式,但这显然不起作用。
这是否与 angulars $http promise 与 '$q' 的实现不同这一事实有关?
angularjs - 为什么调用 img ng-src 时没有调用我的 http 错误响应?
我有以下问题:我试图捕获来自服务器的 HTTP 500 响应,但拦截器没有收到 500 响应。这是由对未经授权的 URL 的 img src 调用生成的(从技术上讲,服务器应该返回 4xx,但它返回 5xx --> 它是第 3 方服务器。
更新 2:如果我执行直接 $http.get,则会调用我的 HTTP 拒绝拦截,但如果 img ng-src 或 img-src 隐式调用 http get,则不会调用它。有趣的是我的 httptimeout 拦截被调用,但响应拦截从未被调用。我该如何解决这个问题?
更新 1:我添加了 500 错误的屏幕截图,我的浏览器通过网络检查器收到但没有被拦截。请看结尾。
拦截器代码:
其次,在.config中:
现在,在我的模板中,我调用了以下代码:
<img ng-src="{{LoginData.url}}/cgi-bin/zms?mode=jpeg&monitor={{monitorId}}&maxfps=3&buffer=1000&auth=1234&rand={{rand}}" width="100%" />
以上触发了 500 响应。我看到服务器日志也生成了这个:
但由于某种原因,auth 拦截没有捕获这个 500。如果我在 auth 拦截中删除 500 检查,我可以看到它捕获成功的响应,并显示 200 OK。
我究竟做错了什么?
收到 500 响应屏幕截图 --> Safari 的网络检查器:
谢谢