问题标签 [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.
angularjs - AngularJS $http.get 缓存不起作用
在 next(Route) 到其他页面后,回来它仍然回调链接。如何缓存来自 http 调用的 JSON 数据以优化性能?
尝试一些解决方案但不起作用
$http.get(url, { cache: true}).success(...);
有什么更好的解决方案吗?
angularjs - jQuery.active 的 AngularJs 挂件
在为 Angular 应用程序编写硒测试时,我遇到了时间问题。$http
在执行下一步之前,有一些待处理的请求需要完成。
如果我要使用jQuery,我可以执行以下操作来检查是否有任何待处理的请求:
AngularJS是否存在类似的东西?
javascript - 如何根据其 httpConfig 信息以角度取消拦截的 $http 请求?
我正在使用 angular-http-auth 包,它是 angular 的 HTTP 拦截器,可检测 401 非授权请求并允许延迟请求并在其之前执行授权。
但是,我有一个问题,授权是另一个请求,也可能触发 401 错误。我想取消这些请求,因为我会重新发出它们。
本质上,我收到了这样一个事件:
其中 event 是 JSevent
对象,httpHeader
是一组关于 401 请求的数据。
httpHeader 示例:
因此,我分析httpHeader.config.url
并且我可能希望取消一些特定的 URL 请求(让其他未处理的请求保持不变并等待),最好基于httpHeader
收到的事件信息。我怎么能这样做?
angularjs - Angularjs http基本身份验证,带有Pivotal Tracker api的用户名和密码
我正在尝试开发一个应用程序来获取 Pivotal Tracker 故事。首先,我需要进行基本身份验证才能获得我的 Pivotal Tracker 令牌。
使用 PHP cURL,我正在这样做,
我希望用 Angular 来完成。我努力了,
但它表明,
有什么建议可以完成吗?
提前致谢。:)
angularjs - angularjs $http.put 更改我的网址
我试图用 angularjs 发出 $http.put 请求。我所做的只是:
它真正做的是一个请求:
有人知道为什么它会更改我的网址吗?我怎样才能添加ID?
提前致谢!
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。这是可能的,但忘记我的正则表达式会错过的某个情况也不难。
angularjs - 为什么在运行时变量的 $scope.value 不可用?
为什么在运行时变量的 $scope.reserved 不可用?在模板 {{reserved}} 中是 ок,但在控制器中值 = undefibed。
我有以下代码
服务:
控制器
javascript - expectHEAD 已记录但未实施?
在我们内部的 angularjs 项目中,其中一项服务$http.head()
调用了我正在尝试测试的调用。
为了测试,我使用了由angular-mocks
. 以下是相关代码:
运行测试结果出现如下错误:
经过一番挖掘,我发现了相关的github问题:
据我了解,这意味着在角度模拟中确实没有expectHEAD()
方法 - 它已记录在案,但实际上,它还不是稳定角度发布的一部分。
最好的方法是什么?
请注意,我必须使用 angular <= 1.2,因为这个应用程序需要在 IE8 上运行(Angular 1.3 正在放弃对 IE8 的支持)。
我目前正在考虑的解决方法之一是替换head()
为get()
. 在这种情况下,我可以使用现有expectGET()
方法对其进行测试。但我不确定缺点。
angularjs - 使用 $http 加载 ng-class 和值
我有一个元素的部分视图,哪个类应该取决于 $scope 中变量的值:
在控制器中,我使用 $http 加载 led 的初始值:
我的问题是打开页面后导致变量更新但 CSS 类没有。添加 $scope.$apply() 没有帮助(错误:错误:inprog 操作已在进行中)。这种问题有什么解决办法吗?
angularjs - $http 不工作。控制台中没有返回错误
我正在制作一个移动应用程序,并且我有一个处理用户登录的控制器。它会进行 http 调用(当前是 localhost)来检查用户是否有效。出于某种原因,它不会触发 $http 调用,并且控制台没有说明它失败了。我是 AngularJS 的新手,我可能在我的代码中犯了一个初学者错误。我将 AngularJS 与 Ionic 框架一起使用。
这是我的登录控制器:
我在控制台中得到的最后一件事是Contacting API server...
.
我手动测试了我的 API,它返回了一个 json { "valid": true }
,就像它应该的一样。