问题标签 [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.

0 投票
1 回答
3485 浏览

angularjs - HTTP 拦截器:使用 url 参数而不是标头进行基于令牌的身份验证

我在 AngularJS 中使用我的后端 api 进行基于令牌的身份验证的以下代码:

这会将“授权”标头设置为我的令牌。

如何修改我的代码以使用 URL 参数(名为“access_token”)而不是标头?

0 投票
1 回答
1224 浏览

angularjs - 没有拦截器的AngularJS错误代码401处理?

以下是我使用的代码,如果基本身份验证成功,我会收到身份验证成功警报,但是当凭据错误时,永远不会显示 else 警报“身份验证失败”。我不使用任何路线,也不需要使用拦截器。有没有办法在不使用拦截器的情况下获得 401 错误?

在控制器中:

0 投票
0 回答
739 浏览

angularjs - 使用 auth-http-interceptor 广播 login-confirmed

我正在使用 auth-http-interceptor 广播登录确认。我有一个 main.html 应该检查用户是否登录。

和指令

和登录控制器

1) 但是,我没有获得任何 console.logs。我的代码有什么问题吗?

2)我是对的,登录确认只被触发一次,而不是在我的登录会话中多次触发?

0 投票
0 回答
51 浏览

angularjs - 网络中显示的一个响应多次调用 httpInterceptor 响应

我正在尝试在我的 Angular 应用程序中使用 http 拦截器。现在,我在控制台中看到一个请求被触发并成功返回响应,但是如果我在 httpInterceptor 的响应部分添加控制台日志,控制台日志会被触发几次(~10 次)。

我在我的应用程序的配置部分添加拦截器,如下所示:

我这样定义它:

0 投票
1 回答
1355 浏览

angularjs - 在延迟加载的模块中注册 HTTP 拦截器

早上好,我遇到了一个我自己似乎无法解决的问题。

我正在尝试在与初始配置块不同的位置注册一个 httpinterceptor。

这样做可以按预期工作:

但是拦截器是子模块的一部分。所以我的应用程序如下所示:

编辑:

此外,子模块是延迟加载的。但我不认为这是问题的根源。

我尝试通过添加以下内容来引用初始配置块中的 httpProvider:

所以我可以稍后注册一个拦截器。这甚至在最初的 run() 块中都行不通。检查提供者,它似乎有效,但从未调用过拦截器。

有谁知道如何解决这个问题?我正在尝试将身份验证令牌添加到请求的标头中。

提前感谢,奥卢

0 投票
3 回答
2992 浏览

angularjs - 是否可以截取angularjs中使用的html、css和js文件?

我已经创建了一个 http 拦截器,根据我的观察,它只适用于所有使用 $http 服务的人。如果我想拦截模板中使用的 css、html 和 js 文件怎么办?是否可以?

这是我上面提到的拦截器的代码:

我希望能够像上面的那样为 css、html 和 js(用于模板)做一个拦截器。

0 投票
1 回答
468 浏览

angularjs - ng mock e2e 意外请求

我在使用 Angular JS 开发 UI 时使用 ngMockE2E 来模拟 httpBackend。该应用程序在带有由虚拟机提供的后端的灰熊服务器上运行。现在,当我访问网站时,控制台会记录错误:

意外请求:GET /api/info

预计不再有请求

就我而言,我只想模拟一个数据库的数据。除此之外,我想通过一个按钮即时打开/关闭模拟。这一直有效,直到出现错误。对于这种情况,我写了以下内容:

除此之外,我还添加了以下内容以传递所有其他请求:

0 投票
1 回答
93 浏览

javascript - 使用多个模块路由内联视图不起作用 - $http 拦截器可能导致错误

我正在使用 Angular 进行项目。

这个想法是有不同的模块,每个模块都可以注册自己的路线。部分将全部在同一个 HTML 内联中。但是它不起作用...

这是 plunkr http://plnkr.co/edit/n3q1FW95LD24XqTF37aZ

代码类似于:

和 JS:

在 plunkr 中可以看到完整的代码不起作用...

0 投票
1 回答
855 浏览

javascript - HTTP 拦截器中的 Angular HTTP

我需要将必要的 HMAC 标头附加到请求中。这应该不是很困难,但是我开始感到沮丧。以下代码有什么问题。我正在做的实际http调用有效;我自己运行了这个调用,它返回了必要的数据。它在拦截器内部不起作用。

我只想让当前的实现工作,然后再为这个拦截器添加白名单或黑名单和其他可定制的数据。然而,这不是关于 hmac 的问题,而是关于承诺的问题。

这个拦截器的错误在于整个承诺行从 $http(...) 开始。当我删除此块并按原样使用它(减去承诺执行)时,它工作正常。一旦我取消注释该行,它就会陷入循环并崩溃 chrome。我读过的所有地方都说这就是它的完成方式,但这显然不起作用。

这是否与 angulars $http promise 与 '$q' 的实现不同这一事实有关?

0 投票
2 回答
881 浏览

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&amp;monitor={{monitorId}}&maxfps=3&buffer=1000&auth=1234&rand={{rand}}" width="100%" />

以上触发了 500 响应。我看到服务器日志也生成了这个:

但由于某种原因,auth 拦截没有捕获这个 500。如果我在 auth 拦截中删除 500 检查,我可以看到它捕获成功的响应,并显示 200 OK。

我究竟做错了什么?

收到 500 响应屏幕截图 --> Safari 的网络检查器:

收到 500 错误

谢谢