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

angular - 如何在 Angular 5(或>4.3)中将 Http 转换为 HttpClient?

我有一个使用 Http 的工作代码,我想了解如何将其转换为使用最新的 HttpClient。

我已完成以下步骤:

  • 在 App.module.ts 中:从“@angular/common/http”导入 { HttpClientModule };
  • 将 HttpClientModule 添加到导入数组中
  • 在下面的服务文件中(见下文): import { HttpClient } from "@angular/common/http";
  • 在构造函数中注入 HttpClient 而不是 Http(将 Http 替换为 HttpClient.

现在,我无法正确执行以下步骤(如何重写return this.http.get(queryUrl)..

有任何想法吗?

...

使用Http工作的代码:

这是更新的代码

0 投票
1 回答
4752 浏览

angular - Angular 5 材料,从后端服务器获取 mat-options(在自动完成/选择列表中)

我正在将应用程序从 AngularJS 升级到 Angular 5。我想通了大部分事情,但仍处于学习过程中,我无法找出将自动完成列表连接到后端的最佳方法。Material Design 网站也没有提到这一点。

这是代码现在的样子:

我已经删除了 mat-chip-list 并且只包含了相关代码。

所以我的问题是......现在我从 field.options 获取选项——而不是这个,一旦我开始输入,如何从 http 后端动态加载它们?

谢谢你的帮助!:)

0 投票
0 回答
2575 浏览

c# - 将大型 csv 文件分块发送到 ASP.net Core 2 Web api 方法

我有一个要求,我需要从客户端浏览器应用程序(使用 Angular4 构建)导入 csv 并将其发送到 Web api(使用 ASP.net Core 2 构建)。

我发送 csv 数据的选项是:

  1. 在请求正文中发送 csv 文本 - 例如,我们将 csv 文本输入到 textarea 输入

  2. 在请求中发送 csv 文件 - 例如使用 input type="file"

对于选项 1,我使用此解决方案将请求正文中的文本转换为类型化对象。适用于小型 csv 数据:

https://damienbod.com/2016/06/17/import-export-csv-in-asp-net-core/

对于选项 2,我之前做过类似的事情(MVC 中的示例):

查看(cshtml):

Web API 控制器(cs):

同样,这适用于较小的 csv。我现在需要的是发送非常大的 csv 文件(可能只有几 GB)。我想要一个 ASP.net Core 2 的解决方案(如前所述从 Angular 发送),我可以将文件分成块并逐个发送到服务器。

理想情况下,当每个块都发送到服务器时,我想在代码中查看块的内容并验证其有效 - 因此将块转换为文本并验证诸如 a) 它具有预期的列数, b) 每行(将映射到服务器上的数据类型)具有每个字段的预期类型,例如,如果映射到的对象具有 int,则传递的不是字符串。

以前有人在 ASP.net Core 2 中使用过分块吗?

感谢您提前提供任何指示!

0 投票
1 回答
74 浏览

angular - 如何重新分配 angular2 组件中的值变得未定义

我有一个组件在这里声明数字数组 public numbers :number[] =[];并在服务响应中给出数字数组的值并获得 10 并且在 ngInit 块之后它显示为未定义

app.component.ts

这里未定义原因:text:this.errornumber

0 投票
2 回答
2962 浏览

https - 在 Tomcat 8 中为应用程序启用 HTTP 和 HTTPS

我在 Tomcat 8 中部署了一个应用程序,我想同时在 http 和 https 上运行。我已将 server.xml 配置为在 http 和 https 上运行。应用程序的 web.xml 也被配置为处理这两个请求。问题是我只收到对 https 请求的响应。对于http,它说请求超时。

https 端口配置为 9999,http 端口为 8080。 https://URL:9999/path => 工作 http://URL:8080/path => 不工作

下面是我启动 Tomcat 时 WEB-INF 目录中 server.xml 、 web.xml 和 catalina.out 响应的附加代码。

服务器.XML

web.xml

CATALINA.OUT=>

0 投票
3 回答
10340 浏览

angular - 如何使用 Angular 4.3 HttpClient 在发布请求的正文中发布字符串?

我们有一个 .net WebAPI,它在 post 请求的正文中查找文件路径字符串并返回相应的图像。我正在努力使用新的 httpClient 成功地将字符串从 Angular 4.3 传递给它。可能吗?端点正被其他东西使用,所以我真的不想创建一个字符串的“模型”,这样我基本上可以复制它,但如果可能的话将它传递给 json。

WebAPI 方法签名:

目前的服务方式:

一定是一件容易实现的事情吗?

0 投票
1 回答
5676 浏览

php - Angular 4 POST 到 MYSQL 数据库使用 PHP

我已经搜索了两个星期来找到我的问题的答案,我觉得应该比较简单,但我没有使用正确的关键字。我知道 Angular 是前端框架,我可以使用任何我喜欢的数据库和后端。

对于一个学校项目,我正在创建一个带有 MySQL 数据库的 Ionic 3/Angular 4 应用程序,其中一项作业要求登录/注册系统。虽然有很多关于 Firebase 的教程,但我还没有看到任何关于 MySQL 的教程。

我的基本问题是,如何设置我的 register.ts 文件以在服务器上运行 PHP 文件并传递名称、用户名、电子邮件和密码等数据?我们在学校学习了基本的 PHP,但如果有一个有用的快速入门,我愿意使用 Node/Mongo - 我们不允许使用像 Firebase 这样的任何 BaaS。

这是一些代码: register.ts 文件

插入用户.php

0 投票
1 回答
922 浏览

angular - Angular 4/5 HttpClient 自定义服务

我对 Angular 很陌生,但我会做一件非常简单的事情(而且我做不到)......我想创建一个“基础服务”,它与我的 api 后端通信,但在设置一些东西之前(标题,变量...等等)...所有其他服务都必须调用此“基础服务”才能与api进行通信...这是我的代码:

这很简单......每个有'BaseService'的DI的服务都可以调用

我创建了一个简单的组件

但没有任何效果:(

任何想法?

0 投票
1 回答
602 浏览

javascript - Angular 4 http响应混合在一起

我正在使用 Angular 4。这个问题已在 safari、chrome 和 Firefox 中发现。

我的 Angular 4 应用程序使用 httpclient 将 XHR 请求发送到 REST 服务。通信采用 JSON。

存在潜在的 CORS 问题,因此浏览器会发送飞行前 OPTIONS 请求。

该请求以 JSON 格式返回用户的详细信息。

有时(可能是五分之一),我会看到以下综合反应:

例如,如果两个请求快速连续发送(相同的 URL),我会看到: OPtions Request sent Options Request sent GET Request sent (no response) GET request sent (Results combined with last GET returned)

所以对于最后一个 GET,我会收到:

(即:两个 JSON 对象共同加入,这是一个 JSON 语法错误,因此应用程序中断).. 而我希望这两个 GET 分别接收其中一个:

我在其他请求中也看到了这一点,URL 不同(相同的服务器和 REST 服务,不同的操作)。

从 authService 服务获取登录信息的调用如下所示:

对它的调用是这样的:

用户凭据通过拦截器提供:

如果我在浏览器窗口中尝试其中一个 REST 服务 URL 并多次按 F5,我将无法重现该问题。似乎只是有角度的 http 请求,虽然我不知道这是否是一个公平的测试。

我不确定这是不是..

  • Angular 订阅问题
  • httpclient 错误
  • 服务器端的问题(很难想象)

如果有人能对此有所了解,我将不胜感激,并将通过扩音器在大街上高呼您的用户 ID。

我唯一的线索是有时会发送异步请求(例如心跳“ping”),这些有时似乎与用户发起的请求发生冲突(例如保存,使用 POST 请求或 GET 获取其他信息) .

感激地收到任何帮助或建议。

0 投票
0 回答
416 浏览

angular - Angular 4 使用 HttpInterceptor 在运行时绑定标头

PPl在这里将其标记为重复而不是阅读此问题...链接是如何添加拦截器...我已经在做并且已经发布了代码,问题是修改要在拦截器中发送的标头

申请流程 -

登录页面 - 用户登录 - 获取一个令牌,然后在所有 http 请求中都需要发送该令牌。

工作场景

但问题是我必须每次都读取那个不需要的令牌,所以我修改了代码来扩展 HttpInterceptor

但问题是有谁知道,我如何在运行时添加该令牌,基本上在用户登录并获取该令牌之后,我需要更新该拦截器中的令牌。