问题标签 [angular4-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.

0 投票
0 回答
801 浏览

angular - 如何让 windows.location.href 响应充当承诺

我在 Angular 4 中使用隐式授权流,其中推荐的方法是将 windows.location.href 设置为身份验证提供程序 url。

我可以从 windows.location.href 创建一个承诺,以便我知道在承诺返回后触发后续操作吗?

如果承诺不是一种选择,还有其他选择吗?

0 投票
1 回答
97 浏览

angular - Angular 4接收SOAP对象并分配给一个对象

我对 Angular 4 很陌生,并且正在从事一个从 SOAP API 接收对象(Sale,Invoiceto)的项目,然后推送到一个对象,并从输入字段中分配值,然后将其发送回 SOAP API。

加载页面时,它会从接口初始化一个对象:

然后从 SOAP API(InitializeSale) 接收 Sale 对象并覆盖该对象:

它填充 Sale.InvoiceNo。

然后我填充 Sale 对象:

并在第二个 API 调用 (SaveSale) 中发送。

在第二个 API 调用中,它返回一个错误 TypeScript 错误:

“无法获取属性‘构造函数’的值:对象为空或未定义”</p>

但是,如果我在 Sale 对象中分配值,例如:

它不会抛出错误并且有效。

有没有办法在一行中将所有值分配给 this.Sale?

0 投票
1 回答
1711 浏览

angular - 无法发布到本地服务器

我有一个本地Angular4应用程序试图发布到本地 django 服务器。问题是我在 中遇到错误http.post(),但我认为这不是CORS由关于 Angular 应用程序Access-Control-Allow-Origin)。请在下面找到我的代码:

这是我得到的错误(似乎它无法读取网址):

任何线索可能导致这些问题?

0 投票
1 回答
4944 浏览

angular - HttpHeaders 和lazyupdate Angular 4 和 Karma

我对 HttpHeaders (angular 4.3.0) 和 Karma 有疑问。我编写了一些测试,当我使用 npm test 命令运行它们时,http 查询是未经授权的,因为未设置令牌(X-Auth-Token)。当我使用控制台在浏览器中运行相同的部分时,X-Auth-Token 已设置并且一切正常。

我能看到的唯一区别是在 HttpHeaders 对象中,而恰恰是在lazyUpdate 中。

无测试模式

在此处输入图像描述

有业力

在此处输入图像描述

编码 :

category.service.spec.ts

apiResolver.service.ts(categoryService对其进行了扩展,category service没有具体代码)

有人可以解释一下吗?

0 投票
0 回答
150 浏览

javascript - Angular2 httpClient - 你如何获得内容主体?

在更新到 之前HttpClient,我使用了Http该类并使用以下代码加载了数据。

如果服务器出现 500 或 400(验证)错误,我可以通过我的.catch处理程序从服务器返回文本。

现在我已经更新为使用HttpClient并且我的代码已更改为此

如您所见,只有get方法已更改,但现在我无法获得_body错误响应?

我怎样才能像以前一样获得响应的主体?

0 投票
1 回答
948 浏览

angular - 如何处理 Angular4 中的失败 http

我正在寻找最佳实践指南来处理 Angular4 中失败的 PUT HTTP 请求。

我的场景:一个简单的组件将尝试通过使用 put 请求调用 API 来更新记录。

示例代码片段:

我的组件包含以下代码:

这是在名为 workStreamService 的服务上调用一个方法,该服务具有以下代码:

代码大部分是从 Angular4 教程复制粘贴和改编的,但是该教程的深度不足以处理错误/成功。

API 不返回任何类型的响应正文、对象或 DTO,只返回 HTTP 状态代码。200成功,500如果出了问题。

如果传递的 workStream 对象正常,并且服务正在运行并且不会引发错误,则此方法可以正常工作。在服务可能失败并返回 500 的情况下,我希望能够在组件中以不同于 200 响应的方式处理此问题。(例如 - 组件将显示“成功”消息,或将向用户显示“此调用失败”消息以提示他们重试)。

我对 Angular4 很陌生,找不到任何这种处理的例子。在此先感谢您的帮助

0 投票
2 回答
2030 浏览

angular - 完成所有多个服务调用后执行代码

完成所有服务调用后,我需要执行一些代码,因为我需要来自每个服务调用的数据。
我有我的主要 ts 文件、服务 ts 文件和 api 控制器,其中将发生 db hit。

我的主要 Ts 文件代码

服务组件.ts 文件

从 serviceComponent.ts 调用 api 控制器并进行 db hit。
我面临的问题是在完成服务调用之前执行的服务调用之后存在一些代码,并且数据显示未定义,因为没有为数组分配值。
在 jquery 中,我们有操作员$.When(),里面的所有服务都将执行,然后继续执行其他代码。是否有任何操作员在角度 4
完成所有服务调用后更好,代码应该执行。需要帮助
在此先感谢

0 投票
1 回答
618 浏览

javascript - 在服务级别处理 HttpClient Http 错误

我在整个应用程序中都有一个共享服务来处理身份验证,我试图将我的组件逻辑尽可能远离 http 请求,但是,我看到的每一位文档似乎都希望我返回 httpClient Observable,并订阅它并执行所有逻辑来处理组件内部的结果和错误。

我当前的服务代码已完全损坏,但它看起来像这样:

理想情况下,在组件模块上,我会有类似回调函数的东西,当响应准备好时会调用它。似乎我正在尝试使用 Angular 模式来违背常规,但同时,我不明白为什么 Angular 需要在组件级别执行通用 http 错误的错误处理。

所以我想基本问题是:如何在服务中而不是在单个组件中处理 httpClient 错误?

0 投票
3 回答
5600 浏览

angular - 如何获取存储在服务中的异步数据?

我正在从 http 获取数据,将其存储在数组中的同一服务中。

当我在 component.ts 中控制台我的用户时,它会打印“未定义”。

那么我怎样才能访问this.service.myusers?不要建议将数据存储在组件数组而不是服务 myusers 数组中的解决方案。

0 投票
1 回答
2137 浏览

angular - 使用 HttpClient 拦截器 Angular 4 的加载器

如何使用 Angular 4 HttpClient 拦截器实现加载器?我已经完成了登录并附加了授权标头,我想知道如果某些数据正在加载过程中,我是否也可以执行“加载器功能”?我想附加一个图标加载器,如果某些数据正在加载,它会发出信号。顺便说一下,这是我的身份验证器。