问题标签 [angular-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 投票
1 回答
18676 浏览

post - angular.js $http(或$resource)POST和transformRequest作为服务的请求示例

使用 angular 1.1.5 并且需要将 urlencoded 数据传递到后端。我已经从这里得到了这个解决方案: 如何将数据作为表单数据而不是请求有效负载发布?

我已经成功地将它嵌入到我的控制器中,但“更清洁”的方法是使用服务,并使用 $resource 而不是 $http 对象。在本主题的 1.1.2 之后可以将 transformRequest 与 $resource 一起使用: $resource transformResponse not working 但我找不到任何工作示例。任何人都可以提供上述解决方案的示例作为使用 $resource 的服务对象吗?

0 投票
1 回答
5937 浏览

http - Angular JS 在调用新的 $http 之前取消 $http 调用

在 Angular JS 1.1.5 中,您可以取消之前启动的 $http 调用。这两个link1link2给出了一些关于它是如何工作的解释。

但是我不明白,如何在实践中使用它。我创建了plnkr来说明我想要实现的目标。

  1. 用户有一个可以点击的链接(我们知道,用户往往会非常热情地这样做)
  2. 如果用户点击了链接,并且之前的请求还没有完成,应该取消它,并且应该发出新的请求(在这个例子中还有其他方法可以忽略多次点击。原始问题是用户输入字段上带有 ng-change - 每次用户更改值时都会发出请求 - 每次按键都会触发 $http。我正在使用链接使其更简单)

正如您在plnkr请求中看到的那样,请求会立即触发并被取消,但我希望最后一个请求会成功。

我是 angularjs 的新手,所以可能我做错了。我已经完成了我能想象的一切,但没有完整的 canceler.resolve() 示例

任何人都可以帮助我或指导我正确的方向吗?

0 投票
1 回答
517 浏览

javascript - Angular.js 在 bind() 事件中取消 $http 请求

根据这个https://github.com/angular/angular.js/issues/1159

这应该有效,不是吗?

因为它根本不会触发请求,没有错误或任何东西,可能是因为它在绑定函数中吗?

0 投票
1 回答
2848 浏览

angularjs - AngularJS 和摘要 HTTP 身份验证

我正在尝试以角度实现摘要身份验证算法。但是,缺乏关于角度将发送的请求的知识使我无法理解该目标。我的方法是通过

路线。但是我提供的功能

显然没有提供有关即将到来的请求的任何知识。由于我根本不了解请求 URI(但尤其是方法,例如 PUT、GET 等),因此不可能计算出正确的摘要哈希。

有人知道 transformRequest 函数如何获取 URI 和请求的目标方法吗?

0 投票
2 回答
3134 浏览

angularjs - AngularJS 服务存储 $http 结果以防止重新查询——有没有更好的方法来做到这一点?

设置:我想要一个服务,多个控制器可以查询使用 $http 提取的数据。最初的解决方案是使用这里建议的承诺。

问题:每次控制器查询服务时,服务都会返回一个 $http 承诺,从而导致多个查询一遍又一遍地从远程服务器中提取相同的数据。

解决方案:服务函数返回数据或承诺,如下所示。并由控制器检查并采取相应措施。

因此,当控制器需要该数据时,控制器只会执行以下操作:

所以问题是:有没有更好的方法来做到这一点?对于许多控制器,这种方法会有很多重复的代码。理想情况下,控制器将直接向服务查询数据。

谢谢!

0 投票
1 回答
424 浏览

javascript - 第二个角度 $http 请求未到达目的地

我正在建立一个类似 oauth 的流程,在该流程中,提出实际请求会被推迟,直到一些初步协商完成。

初步协商有效,但是当我尝试请求所需资源时,我得到以下行为:

  • django 服务器为协商中的每个步骤记录一个 POST 请求。
  • 角度客户端为协商中的每个步骤记录一个 OPTIONS 和一个 POST 请求。

到目前为止,一切都很好。

接下来,我收到资源的 OPTIONS 请求。这个请求在浏览器中停留在等待状态,而 $http 的请求函数执行error回调,状态为 0。

我从角度收到一条错误消息:加载资源失败。

这是我传递给 $http 的请求对象:

我删除了所有标准标题,因为担心它们可能会干扰我的签名:

django 服务器不记录此请求。

任何指针将不胜感激。

0 投票
5 回答
155249 浏览

angularjs - 来自 $http 的 Angularjs 自动完成

我正在尝试编写一个自动完成指令,该指令使用 $http 请求(不使用任何外部插件或脚本)从服务器获取数据。目前它仅适用于静态数据。现在,我知道我需要将我的 $http 请求插入到source:指令中,但是我找不到任何关于该主题的好的文档。

http请求

指示

看法

那么,我如何以 Angular 的方式正确地将这一切拼凑在一起呢?

0 投票
0 回答
309 浏览

unit-testing - 在 Angular 1.1.5 中测试 $http 调用

我在尝试在 Angular 中模拟我的 $http 调用时遇到了麻烦。打电话时$httpBackend.flush()出现错误:Error: No pending request to flush !

我在这里阅读了许多其他类似问题的帖子,但我似乎仍然无法通过添加$rootScope.$digest()或添加来使其工作$httpBackend.expect

我正在测试服务功能:

使用这个.spec:

0 投票
3 回答
6861 浏览

javascript - 将 withCredential 与 $resource 一起使用

我想在导航器中使用带有 cookie 设置的资源。

使用 $http 真的很简单,因为我只需要将 withCredential 设置为 true:

但是对于 $resource,我没有找到解决方案来解决这个问题……我在 github 上看到了关于该问题的讨论,但我认为所有请求的 withCredential 设置为 true 是不行的。你知道怎么做吗?

0 投票
0 回答
448 浏览

angularjs - angular.forEach 中的异步 POST 请求

在 .forEach 中发出异步发布请求给我带来了很多问题。无论是否使用 $resource 我都会丢失数据。或者服务器可能无法同时处理所有请求,我真的不知道。

这是我正在使用的代码:

我只能得到一个正确的结果,其余的都是不完整的。我使用 jquery ajax 和 async to false 来解决这个问题,但我想避免使用 jquery 并以有角度的方式解决这个问题