问题标签 [angularjs-http]

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 投票
3 回答
1849 浏览

angularjs - AngularJS $http.get 缓存不起作用

在 next(Route) 到其他页面后,回来它仍然回调链接。如何缓存来自 http 调用的 JSON 数据以优化性能?

尝试一些解决方案但不起作用

$http.get(url, { cache: true}).success(...);

有什么更好的解决方案吗?

0 投票
1 回答
230 浏览

angularjs - jQuery.active 的 AngularJs 挂件

在为 Angular 应用程序编写硒测试时,我遇到了时间问题。$http在执行下一步之前,有一些待处理的请求需要完成。

如果我要使用jQuery我可以执行以下操作来检查是否有任何待处理的请求

AngularJS是否存在类似的东西?

0 投票
0 回答
156 浏览

javascript - 如何根据其 httpConfig 信息以角度取消拦截的 $http 请求?

我正在使用 angular-http-auth 包,它是 angular 的 HTTP 拦截器,可检测 401 非授权请求并允许延迟请求并在其之前执行授权。

但是,我有一个问题,授权是另一个请求,也可能触发 401 错误。我想取消这些请求,因为我会重新发出它们。

本质上,我收到了这样一个事件:

其中 event 是 JSevent对象,httpHeader是一组关于 401 请求的数据。

httpHeader 示例:

因此,我分析httpHeader.config.url并且我可能希望取消一些特定的 URL 请求(让其他未处理的请求保持不变并等待),最好基于httpHeader收到的事件信息。我怎么能这样做?

0 投票
2 回答
1626 浏览

angularjs - Angularjs http基本身份验证,带有Pivotal Tracker api的用户名和密码

我正在尝试开发一个应用程序来获取 Pivotal Tracker 故事。首先,我需要进行基本身份验证才能获得我的 Pivotal Tracker 令牌。

使用 PHP cURL,我正在这样做,

我希望用 Angular 来完成。我努力了,

但它表明,

有什么建议可以完成吗?

提前致谢。:)

0 投票
2 回答
284 浏览

angularjs - angularjs $http.put 更改我的网址

我试图用 angularjs 发出 $http.put 请求。我所做的只是:

它真正做的是一个请求:

有人知道为什么它会更改我的网址吗?我怎样才能添加ID?

提前致谢!

0 投票
1 回答
300 浏览

angularjs - 如何使用 angularJs 安全地设置授权标头?

通常使用包含秘密令牌的授权标头对 Web 服务进行身份验证。并且由于该机制的安全性取决于要保密的令牌,因此应注意该令牌不会泄露。

网上有无数教程解释了如何使用 angular 设置这样的授权标头,至少我实际阅读过的那些使用 $http 拦截器,现在有人讨论令牌没有泄露。

由于 CORS,有一些公共和一些私有 API 可以跨域通信。显然我不想在任何这些请求上发送我的内部授权令牌。

想到了一些其他技术,例如仅在每个请求上手动设置令牌,但这意味着大量重复代码。$http 服务器可以包装在 $authenticatedHttp 服务中,这样无论它是经过身份验证的服务还是普通服务,它总是从所使用的对象中显现出来。然而 $http 服务有很多方法需要包装。

有更好的解决方案吗?

更新

从答案中,我的印象是我的问题没有被理解。我用一个更具体的例子来试试:

我有一个私人网页。人们必须使用用户名/密码登录,为了简单起见,我们使用 HTTP 基本身份验证,因此用户名/密码是 bas64 编码的,并且在 HTTP 标头“授权”中的每个请求上传输。到目前为止没有问题。

但是有这个很棒的免费天气小部件。我可以从https://myWhateverWeatherService.tld/weather.json以 JSON 格式检索当前天气信息。登录到我的私人网络服务后,我还检索天气信息(CORS 允许我这样做)。

问题是即使 myWhateverWeatherService.tld 根本不需要任何身份验证,Angular 的 $http 服务仍然会附加 Authorization 标头。而且我不信任 myWhateverWeatherService.tld 的人。也许他们只是设置了服务,以便他们可以窃取授权令牌并用它们做很多讨厌的事情。

我需要一些可靠的方法来处理它。我已经考虑过在拦截器中使用一些正则表达式来检查 url。这是可能的,但忘记我的正则表达式会错过的某个情况也不难。

0 投票
2 回答
88 浏览

angularjs - 为什么在运行时变量的 $scope.value 不可用?

为什么在运行时变量的 $scope.reserved 不可用?在模板 {{reserved}} 中是 ок,但在控制器中值 = undefibed。

我有以下代码

服务:

控制器

0 投票
2 回答
264 浏览

javascript - expectHEAD 已记录但未实施?

在我们内部的 angularjs 项目中,其中一项服务$http.head()调用了我正在尝试测试的调用。

为了测试,我使用angular-mocks. 以下是相关代码:

运行测试结果出现如下错误:

经过一番挖掘,我发现了相关的github问题:

据我了解,这意味着在角度模拟中确实没有expectHEAD()方法 - 它已记录在案,但实际上,它还不是稳定角度发布的一部分。

最好的方法是什么?

请注意,我必须使用 angular <= 1.2,因为这个应用程序需要在 IE8 上运行(Angular 1.3 正在放弃对 IE8 的支持)。


我目前正在考虑的解决方法之一是替换head()get(). 在这种情况下,我可以使用现有expectGET()方法对其进行测试。但我不确定缺点。

0 投票
1 回答
510 浏览

angularjs - 使用 $http 加载 ng-class 和值

我有一个元素的部分视图,哪个类应该取决于 $scope 中变量的值:

在控制器中,我使用 $http 加载 led 的初始值:

我的问题是打开页面后导致变量更新但 CSS 类没有。添加 $scope.$apply() 没有帮助(错误:错误:inprog 操作已在进行中)。这种问题有什么解决办法吗?

0 投票
1 回答
156 浏览

angularjs - $http 不工作。控制台中没有返回错误

我正在制作一个移动应用程序,并且我有一个处理用户登录的控制器。它会进行 http 调用(当前是 localhost)来检查用户是否有效。出于某种原因,它不会触发 $http 调用,并且控制台没有说明它失败了。我是 AngularJS 的新手,我可能在我的代码中犯了一个初学者错误。我将 AngularJS 与 Ionic 框架一起使用。

这是我的登录控制器:

我在控制台中得到的最后一件事是Contacting API server....

我手动测试了我的 API,它返回了一个 json { "valid": true },就像它应该的一样。