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

0 投票
1 回答
335 浏览

angular - Hibernate 和 Angular 4+ http get - 参数值与预期类型不匹配

我在后端遇到了非常奇怪的行为。

在我用 Angular 4 编写的前端上,我从后端调用方法,该方法将从特定数据库表中获取特定组织单位的所有员工。另外,我正在调用使用来自后端应用程序的选项填充 MatSelect 的方法。

代码:

后端控制器:

后端 DAO:

前端服务:

}

前端组件:

前端html:

当我点击特定选项时,我的 url 看起来如何:employees/orgid/166

问题:

我得到了java.lang.IllegalArgumentException: Parameter value [166] did not match expected type [java.lang.Integer (n/a)] 如上所述,我期待后端的字符串,而且,我在 url 中提供字符串。

也许这是自定义查询内部的问题或其他什么?任何帮助都会很棒。

0 投票
2 回答
12741 浏览

angular - HttpInterceptor 处理 401 错误不返回 Observable

我正在关注这个例子:https ://www.intertech.com/Blog/angular-4-tutorial-handling-refresh-token-with-new-httpinterceptor/

一切都很好,除了方法handle401Error。它不会执行,除非我添加subscribe拦截器。即使尝试遵循该示例,我也一定遗漏了一些东西。

以下是相关代码:

零件:

服务:

拦截器:

处理401错误:

抱歉,有一些代码,但我认为一切都与能够重现该问题有关。

我也做了一个

StackBlitz

展示问题!

0 投票
1 回答
883 浏览

angular - 无法使用 Angular 5 应用程序从启用 CORS 的 API 获得响应

我想从 Angular 5 应用程序调用 Watson 对话 API,为此,我正在使用 Angular HttpClient。

下面是代码片段:

它应该调用 API 并返回响应,但它返回如下错误:

该请求与 Postman 和 Node.js 请求包完美配合,但不适用于 Angular 5 应用程序。

示例 cURL 请求:

如果我在 chrome 中添加Allow-Control-Allow-Origin: *扩展名,上述请求工作正常,因此无法理解 Angular 应用程序有什么问题。

提前致谢。

0 投票
1 回答
2206 浏览

angular - 从 HttpModule 迁移到 HttpClientModule。角 5

我正在尝试从有角度的 HttpModule 迁移到有角度的 HttpClientModule。

我当前使用 HttpModule 的代码如下:

为了保持相同的逻辑,我做了以下事情:

但是,我从登录函数中收到一个错误:“声明类型为 'void' 而不是任何必须返回值的函数”。将我的代码迁移到 HttpClientModule 的正确方法是什么?

0 投票
2 回答
12679 浏览

angular - Angular 5,HttpClient 将日期字段更改为 UTC

我有一个在客户端具有 Date 类型属性的对象。当我尝试通过将对象发送HttpClient.post到服务器时,属性的值更改为 UTC 时区。

客户端值为Sun Nov 26 2017 00:00:00 GMT+0300(土耳其标准时间),但当它进入服务器时,更改为:25.11.2017 21:00:00

我该如何控制这个?

这是我的课。

我在填写 ng-form 时创建了一个对象,然后调用以下 Http.post :

0 投票
1 回答
5794 浏览

angular - Angular 使用 HttpClient 测试服务对我不起作用

我正在做一个 Angular 5 项目,这没什么大不了的。虽然我从 2.1/2.2 早期就退出了 Angular2+ 业务。

所以我有这个调用公共 API 的服务,但是我的测试一直失败:Error: Expected one matching request for criteria "Match URL: http://api.icndb.com/jokes/random/10", found none.

代码:

fact.service.spec.ts

事实.service.ts

该代码实际上有效,但我似乎无法对其进行测试:-(。如果我删除 verifyOne 它实际上抱怨对错误中提到的完全相同的 url 的打开请求。

0 投票
1 回答
105 浏览

http-post - Angular HttpClientModule 正文语法问题

我正在尝试发出这样的 HTTP 请求:

这将返回 500 内部服务器错误。但是,如果我将 body 变量修改为如下所示:

它工作正常。我已经看到文档中使用的第一个版本,但由于某种原因,它对我来说不起作用。我在想:

A)这些陈述应该是等价的吗?有语法问题吗?-或者-

B) 后端有问题吗?在我们的服务器日志中,我们得到类似“参数@userIdentifier 是预期但未提供”的信息。

我必须选择可行的,但如果可能的话,我想使用第一个语句的语法。谢谢!

0 投票
0 回答
646 浏览

angular - Angular HttpClient 拦截器完成回调未调用浏览器状态代码 304

Angular HttpClient 拦截器不适用于状态码 304。我正在使用拦截器来显示加载栏。

对于我的后端的所有请求(GET、POST、PUT、DELETE),它运行良好,但是在加载语言文件时“完成”回调没有调用。

我也可以在浏览器中看到 304 状态码,但角度 http 响应状态码是 200。

没有调用完整回调是否有原因?我在这里做错了吗?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
653 浏览

angular - Angular 2 - Shared Observable - 第二个订阅错误回调失败

我们有一个处理视图管理的组件和一个管理服务器交互和数据解析的服务。

服务 postForm 方法返回一个共享的 observable 给组件。服务订阅它,组件订阅它。

成功时,服务回调方法会做一些数据处理。成功或错误时,组件回调会更新视图中的反馈。

问题:组件错误回调仅在服务订阅函数包含错误回调时触发。

我使用了错误的模式吗?如果不是,为什么我在两个订阅函数中都需要错误回调来让组件之一工作?

谢谢

零件:

服务:

0 投票
0 回答
2997 浏览

angular - Angular 5 - 扩展 HttpClient

我正在尝试将我的项目从angular 4升级到angular 5。
为此,我需要将Http的使用升级到HttpClient

但是,我的 HttpService 是使用其他服务包装的,并且在设置 environment == "develop" 时与 MockConnectionBackend 一起使用,我无法弄清楚更改类结构以使用 HttpClient 的正确方法是什么。

我觉得我做的太复杂了。我的问题是我不能对 HttpClient 使用相同的方法,并且无法理解如何按照建议使用拦截器。