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

Angular2:res.json不是一个函数

唐珂
2023-03-14

我试图在代码中使用以下服务:

import {Injectable} from '@angular/core';
import {Http,Response} from "@angular/http";
import 'rxjs/Rx';

@Injectable()
export class HttpService{
    constructor(private http : Http){}

    getData(){
      return  this.http.get("URI")
      .map( (res: Response) => res.json()  );
    }
}

问题是,在运行时,它会抱怨:

res.json is not a function

我已经定义res的数据类型为响应,但仍然抱怨

.map( (res: Response) => res.json()  ) 

如果我用订阅替换地图,它工作正常:

.subscribe( res =>{
                res.json();
                console.log("City is:"+ res.json().city.name)
            });

共有3个答案

麻烨
2023-03-14

您不需要使用此:。地图(res:Response)=

您不再需要自己再次调用此函数。简单地说:. map(res=

司徒泰
2023-03-14

尝试导入'rxjs/add/operator/map' 而不是导入'rxjs/Rx' 。这应该可以解决问题。

李昊苍
2023-03-14

值得一提的是,在Angular 5中,我发现res.json不是函数错误可以通过返回res来修复,如果响应是纯json。

 类似资料:
  • 我试着按照教程angular.io(游览英雄)但不是教程,我试着在一些JSON上提出真正的GET请求。 我的代码如下所示: 为了服务,我只进口一些基本的东西: 其中是TOH中的基本副本,所以: 如何在服务中调用此特定方法:首先,我尝试多种方法,但在调试时,我只尝试控制台。将其记录为: 在控制台中加载页面时,我发现多个错误:第一个错误是: 例外:TypeError:这是一个错误。http。得到(…)

  • 我得到了一个错误:这个$情态动词模态不是一个函数 我通过gulp文件从wwwroot文件夹中的Node_模块获得了ng2-bs3-modal。 我的文件夹结构是: 如果我将ng2-bs3-modal移动到脚本(typescript)文件夹,它将提供jasmin区域。js错误。在上面的结构中,我得到了“this.$modal.modal不是函数”错误,因为ng2-bs3-modal中的所有类型脚本都

  • 我有以下服务,这是工作良好,直到今天我得到了这个错误 当我调试这段代码时,它会在捕获方法时崩溃。

  • 问题内容: 我试图编写登录到网站的节点功能,但无法使其正常工作。我试图等待页面使用加载功能 这是我到目前为止的内容: 当我运行该函数时,我收到错误消息。这是怎么回事,我想念什么? 问题答案: 为了与其他硒语言绑定的一致性, 并已被弃用。 如果您使用,则应尝试使用代替来确定元素是否存在,如下所示: 或者,如果您要等到欲望元素出现,则应尝试使用以下方法:

  • 我试图使用rxjs输入自动完成的目的,但我一直得到这些错误TypeError:terms.debounce时间不是一个函数,即使我设置这些导入'rxjs/操作员/DebounceTime'; 我称之为的函数是:

  • 在Angular2中尝试一个代码,它的HTML正在运行,但Angular代码没有执行,它表示我从HTML传递的值不是函数。请帮忙! HTML:app.html - 我正在尝试显示学生的详细信息。我在angular app.component.ts文件中有一个项目列表,我在HTML页面上调用它,工作正常。但是当我将单击事件的值传递给 app.component.ts 时,它会给出错误并在控制台上显示