问题标签 [angular-httpclient]
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.
json - Angular:如何将来自 HttpClient 请求的 JSON 结果映射到类实例?
我有以下似乎错误的代码:
我知道 API 返回的 JSON 对象与我的 TypeScript 类的实例不同。但是,我想使用 TypeScript 类中定义的属性。
有没有更好的方法将来自我的 API 调用的数组映射到实际上由 的实例组成的数组ClientSearchResult
?
这是ClientSearchResult
对象:
angular - 如何使用 HttpClient 在 Angular 4.3 上使用对象为 HTTP 请求创建 HttpParams
我有确切的角度版本 4.3.2,由于依赖关系,我无法更新。所以现在我坚持这个版本。我有带有动态参数的对象(里面可以有其他键和值):
我想做类似的事情:
但没有这样的 params.append(query) 方法。所以我需要遍历查询键并将它们一一添加到参数中。有没有更简单的解决方案?
编辑1:
根据this answer这可以从角度5.0.0-beta.6(2017-09-03)开始完成,但对我来说不是解决方案。 https://stackoverflow.com/a/46317900/1995258
javascript - angular 4服务构造函数问题
我的身份验证服务有问题。如果我在构造函数中发出 http 请求,它会被调用 259 次。如果我删除 http 调用,它会被调用一次。我使用共享模块来提供该服务的唯一实例。
角度版本:4.4.4
这是我的共享模块:
还有我的 AuthService:
谢谢!
编辑:我发现了问题。来自 AuthInterceptor。当我尝试获取授权令牌时,它会启动一个无限循环:
现在如何在不使用注入器的情况下恢复 Interceptor 中的 authService?
最终编辑:我想出了如何从我的 authService 获取令牌而不进行无限循环。问题是我用来为每个请求添加令牌到授权标头的 HttpInterceptor。在我的 AuthService 构造函数中,我调用了发出 http 请求的登录方法.. LOOP: INTERCEPTOR => AUTH SERVICE => HTTP CLIENT 并再次 INTERCEPTOR
因此,现在我在拦截器中进行一些检查,例如:
也许可以帮助遇到同样问题的人。PS:喷油器需要在检查后调用
感谢帮助!
arrays - Angular - HttpClient:将获取方法对象结果映射到数组属性
我正在调用一个返回 JSON 对象的 API。我只需要将数组的值映射到 Observable 。如果我调用只返回数组的 api,我的服务调用就可以工作。
下面是我的示例代码..
如果返回的是 JSON 对象,如下所示,则失败..
现在,如果我只返回数组,这个就可以了
如何将 JSON 对象 Observable 映射到 Array Observable 中???
javascript - Angular 4 Http POST 不起作用
我希望每个人都做得很好。我最近开始使用 angular 4.4,我一直在尝试将数据发布到我的 api 服务器,但不幸的是它不起作用。我已经花了大约 2 天的时间,但仍然没有成功。并且已经尝试过angular.io的 6-7 篇文章。我已经尝试过Http和Httpclient模块,但似乎没有任何效果。
问题是,每当我尝试将数据发布到我的服务器时,Angular 都会发出 http OPTIONS类型请求而不是 POST。
而且我还尝试发送带有请求的自定义选项,但仍然没有成功。
我使用的是 ASP.NET core 2.0,但由于它不起作用,我也尝试了简单的 php 代码,这是 php 的服务器端代码。而且它也不起作用。
注意:服务器上也启用了 Cors。另外,我还尝试了简单的获取请求,并且它工作得很好。
我真的很感激一些帮助。
提前致谢
angular - 多个对象放入 HttpParams
我在表单控件中有一些类别,我将它们发送到一个字符串数组中,如下所示:
[1,4,6]
那是我的实际代码:
但是我想将它们作为对象数组发送,使用旧版本的 angular Http 我能够对对象进行 foreach 并附加每个类别。但我不知道如何获取每个类别并将每个类别都附加到参数。我需要这样:
...categoryId=1&categoryId=4&categoryId=6...
angular - 更改组件的属性取消订阅方法
我目前正在开发一个 Angular 4 应用程序。我正在使用一个安静的 Web 服务从数据库中获取数据。
我创建了一个名为的前端服务UsersListService
,该服务有一个方法,该方法返回一个我在组件中订阅的 observable。我想将组件的属性 users 更改为 web 服务返回的数据,但不幸的是组件的属性始终设置为其默认值。
因此,一旦加载了页面,我就得到了 Web 服务返回的数据,但是一旦我进行搜索或分页,用户就会被设置为其默认值 ["1","2","3"]。
这是服务方法:
这是我的组件:
这是我的html
angular - Angular 4:注入 HttpClient 有什么好处
在Angular 文档之后,HttpClient
被注入到app
组件中。我在另一个指南上看到这是一个“有利的”,没有解释。
对此我有一些疑问:
angular - 如何将同一个 observable 与多个映射一起使用?
我的代码有一个Subject
which,当添加新值时会触发一个 HTTP 请求,该请求返回一个Observable
.
我想以两种不同的方式处理这些数据(使用相同的数据),并将结果Observables
存储在group
和作为使用管道times
放入的值。ngFor
async
虽然这确实有效,但 HTTP 请求会发送多次 - 我只希望每个订阅发送一次。
下面是一个最小的例子。
实现这一目标的最佳方法是什么?