当前位置: 首页 > 知识库问答 >
问题:

Angular 7无法在使用map获取Web服务时发送标头

耿招
2023-03-14

错误很简单。我不知道如何准确地在http中发送头。获取方法。我认为在尝试映射响应时会出现错误。有人知道在webservice中发送头并映射它的正确方法吗?

const httpOptions = {
  headers: new HttpHeaders({
    "Authorization":
   "TOKEN"
    })
};

this.http
  .get("URL", httpOptions)
  .map(this.extractData)
  .subscribe(data => {
    this.dtTrigger.next();
  });


  private extractData(res:Response) {
    const body = res.json();
    return body['body'] || {};

控制台中的错误是:

类型“HttpHeaders”缺少类型“Headers”中的以下属性:forEach、值、toJSON、条目、mayBeSetNormalizedName

更新2:添加了导入

import { Component, OnInit } from "@angular/core";
import { HttpClient, Response } from "@angular/http";
import { NgForm } from "@angular/forms";

更新3:完整的代码示例。

https://l-lin.github.io/angular-datatables/#/basic/angular-way

我需要在中添加带有标记的标题。http。get('data/data.json')

共有2个答案

姬慎之
2023-03-14
const httpOptions = {
  headers: new HttpHeaders({
    "Authorization":
   "TOKEN"
    })
};

this.http
  .get("URL"+id, httpOptions) 
  .subscribe(data => {
    this.elementosDatatable = data['body']['list'];
    console.log(this.elementosDatatable);
    this.dtTrigger.next();
  });

回来

(2) [{…}, {…}]
0: {id: 1, description: "Test1", check: 1}
1: {id: 2, description: "test2", check: 0}
length: 2
__proto__: Array(0)

在HTML中尝试

<tr *ngFor="let elementosDatatable of elemento">
                <td>{{elemento.id}}</td>
              </tr>

但是html中的Foreach循环不返回数据,那么现在,错误是什么?

国俊艾
2023-03-14

您提供的示例必须来自Angular的早期版本。在Angular 7中,您可以这样做:

在app.module.ts:

从'@angular/common/http'导入{HttpClientModule}

在@NgModule:imports:[HttpClientModule]

然后在组件中:从'@angular/common/http'导入{HttpClient,HttpHeaders}

忘记map,HttpClient使用泛型调用并发布正确的类型:

this.http.get

 类似资料:
  • 我正在使用新的Firebase平台。我试图让我的应用程序服务器发送消息推送到我的iPhone。 我的设置正在运行,我在网站上的Firebase通知区域手动发送消息,但当我尝试将消息发送到https://fcm.googleapis.com/fcm/send 我没有收到发送到设备的消息。 我正在发送以下内容(带有auth头) 我从POST得到了200个响应,有以下身体: 如果我尝试直接通过Fireb

  • 问题内容: 我有一个REST Web服务配置如下: 我的Tomcat服务器的配置如下: 我创建的POJO如下所示: } 我创建一个测试客户端以测试createUser方法: 但是我收到以下错误: 奇怪的是,当我将所有内容更改为appliction / xml时,它都能正常工作 知道为什么Json不能为我工作吗? 问题答案: 您正在执行: 这是不对的。您应该将真实的JSON字符串发送到您的服务。 获

  • 您好,我正试图在JBoss developer studio和Wildfly 11上构建一个简单的JaxRs web服务作为应用程序服务器,但我在尝试部署maven项目时遇到以下错误:

  • 问题内容: 我试图使用Angular从远程WS以Json格式获取数据,但遇到了一些麻烦。数据正确地来自Web服务,但是我不能在控制器内部使用它。这是为什么?角度代码: HTML: 问题答案: 您应该将$ http.get放入控制器中。 而且,Web服务返回的对象不是数组。因此,您的ng-repeat应该是这样的: 这是一个工作示例:

  • 我对妮蒂很陌生。我目前正在编写一个非常简单的Echo客户端和服务器,但是我尝试从客户端向服务器发送< code>byte[]而不是String或ByteBuf。我成功地用字符串消息编写了相同的客户机\服务器。 在相同的代码中,我只是将“解码器\编码器”改为使用< code>byte[]。 我在下面张贴我的代码。 -启动客户端的主类 - Define pipeline - 主客户端处理程序 -启动服

  • 我试图发送电子邮件使用gmail smtp使用javax.mail.下面是我的代码 代码工作正常当我在本地服务器上运行它时,但当我尝试在Elastic beanstek上运行它时(我的服务器在AWS EBS上运行),身份验证失败异常即将到来注意:我已打开从Google A/c设置访问不太安全的应用程序,但我仍然收到此错误 javax.mail.身份验证失败异常:534-5.7.14请通过您的网络浏