问题标签 [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 投票
2 回答
437 浏览

angularjs - AngularJS $http 加载屏幕兼容性

我使用以下角度模块来创建加载屏幕,直到所有 $http 请求完成。它适用于 angular 1.0.7,但不适用于 angular 1.2.10 。我还需要使用角度资源和角度路线,所以我不能停留在角度 1.0.7 上。谁能帮我重写它以使用最新的角度?

在 Angular 1.2.10 中,加载屏幕不会出现,但是如果我在 hide 函数中放置一个 alert(),加载屏幕会出现,直到我在警报上按 OK。所以我不确定是不是事情发生得太快了,或者是什么。

修正版:

0 投票
3 回答
12557 浏览

angularjs - 推入或取消转换到 $http 的 transformRequest 数组(非全局)

有关transFormRequest 函数/数组的很好解释,请参见此处接受的答案。

在答案的最后一个例子中:

但是,这样做的问题是transformRequest: transform覆盖了 Angular 预先构建的函数数组。

来自 Angular文档

要全局扩充或覆盖默认转换,请修改 $httpProvider.defaults.transformRequest 和 $httpProvider.defaults.transformResponse 属性。默认情况下,这些属性是一组转换函数,允许您将新的转换函数推送或取消转换到转换链中。您还可以决定完全覆盖任何默认转换,方法是直接将转换函数分配给这些属性,而不使用数组包装器。这些默认值在运行时再次在 $http 工厂中可用,如果您希望在转换中涉及运行时服务,这可能会很有用。

类似地,要在本地覆盖请求/响应转换,请增加传递到 $http 的配置对象的 transformRequest 和/或 transformResponse 属性。

如果我想在全球范围内应用我的变换功能,我会这样做

或者

我的问题
不是擦除整个转换请求函数数组,而是如何将另一个转换函数推送到调用,而不是全局?

0 投票
4 回答
16132 浏览

angularjs - 获取 AngularJS 错误:“[$rootScope:inprog] $digest 已经在进行中”没有手动 $apply

关于此错误的其他帖子总是包括有人试图 $apply 而不使用安全应用,但在我的示例中并非如此。我的函数成功返回了我从 API 请求的数据,但我无法清除这个错误,这让我抓狂。每次在 $http 函数中调用 .success 之前,我都会在控制台中收到“错误:[$rootScope:inprog] $digest already in progress”。以下是我的控制器和服务。谢谢!

这是我的服务,包括一个使用有效负载发布 $http 调用的函数:

这是我调用服务的控制器:

var new_cool_data 下面的日志在异步操作之前被调用,但 new_cool 确实在 getCoolData 中的 .then 语句中分配。任何帮助摆脱这个错误或使它一般不蹩脚将不胜感激!

这是整个错误: https ://gist.github.com/thedore17/bcac9aec781ef9ba535b

0 投票
1 回答
331 浏览

angularjs - Angularjs 服务不会执行一个以上的 http 请求

我有一个服务 angularjs 的问题,不要发出多个 http 请求。

服务 :

在控制器中:

当我调用:UpdateCheckpoints () 时,结果为空。

只完成第一个请求。

$http服务声明有问题吗?

0 投票
0 回答
676 浏览

angularjs - Angular资源动态uri

一旦我使用 $http 调用我所有的 API 端点。但最近我读到使用 $resource 更加健壮或最佳实践。现在我正在将我所有的 $http 调用迁移到 $resource 并且我对如何使 $resource 函数动态化感到困惑。

这就是我制作工厂 $resource 的方式

谢谢

0 投票
2 回答
94 浏览

angularjs - 为什么 Promise 在 AngularJS 中不能按预期工作

在我的 AngularJS 应用程序中,每次请求更改我运行的页面:

当我运行应用程序并测试正在发生的事情时,我在控制台中看到“通话结束”之前返回,console.log("call");这意味着未设置用户。这意味着如果我想检查用户是否在更改路由时登录,用户将是未定义的。

我如何让 Angular 运行-> http 请求,然后才能继续?

0 投票
2 回答
3819 浏览

angularjs - Java Servlet 没有将对象返回给 Angular $http.success 方法

我正在学习 Angular.js。我尝试搜索许多现有问题,但找不到一个匹配的问题或答案。

我正在向一个 java servlet 发送一个 GET 请求,并期待一个对象。这是角度 $http GET 请求

在 java servlet 上,这是我在 doGet 方法中写的

当从这个 servlet 返回响应时,它会在角度方面成功 $http 服务。我将从哪里获取从服务器发送的用户对象。

当我添加 console.log 来打印数据时,它会打印我要转发的 /html/index.html 内容。

根据我的研究,我的角度代码是正确的,但我没有在 java servlet 中正确设置。(这有帮助 -如何在 angular.js 操作成功回调中访问 json 返回值

提前致谢。

0 投票
2 回答
18187 浏览

jquery - Angularjs 中的 jQuery ajax beforeSend 等价物是什么?

我熟悉Jquery AJAX call,它有不同的回调,如 beforeSend、success、complete 等。

这是使用 Jquery 的示例 AJAX 调用:

我想使用 AngularJS 实现相同的目标。

AngularJS AJAX 请求是否有像beforeSend这样的回调?到目前为止,这是我的代码,但我不确定在哪里可以在我的代码中使用像beforeSend这样的回调(以便我可以显示加载的 GIF 图像):

0 投票
16 回答
309218 浏览

asp.net-web-api - “Access-Control-Allow-Origin”标头包含多个值

我在客户端使用 AngularJS $http 来访问服务器端的 ASP.NET Web API 应用程序的端点。由于客户端与服务器托管在不同的域上,因此我需要 CORS。它适用于 $http.post(url, data)。但只要我验证用户身份并通过 $http.get(url) 发出请求,我就会收到消息

Fiddler 告诉我,在成功的选项请求后,get 请求中确实有两个标头条目。我在哪里做错了什么?

更新

当我使用 jQuery $.get 而不是 $http.get 时,会出现相同的错误消息。所以这对 AngularJS 来说似乎没有问题。但是哪里错了?

0 投票
2 回答
5792 浏览

angularjs - 如何使 $httpBackend 对 URL 查询参数的顺序不敏感?

我正在使用 Angular.js$httpBackend来测试一些包装$http调用的服务(这是在 ngMock 中,而不是在ngMockE2E 中)。

似乎对 URL 查询参数expectwhen顺序很敏感。例如,如果我这样做$httpBackend.when('POST','/apiCall?X=1&Y=2').respond(/* ... */)或,如果我在 URL 中有Y=2&X=1而不是X=1&Y=2$httpBackend.expectPOST('/apiCall?X=1&Y=2'),我会得到 URL 不匹配。

我想以这样一种方式编写我的测试,即被测试的服务可以自由地更改 URL 查询字符串参数的顺序而不会破坏测试。我无法在 $httpBackend 文档中找到任何解决此问题的方法。这样做的正确方法是什么?