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

Angular2-http。员额(……)。映射不是函数[重复]

松旻
2023-03-14

我已经查找了所有github问题和StackOverflow帖子,但是我无法让它工作

( https://github.com/angular/angular/issues/5632 )

(Angular 2 HTTP GET与TypeScript错误http.get(...). map不是一个函数在[null])

  • 我正在使用Angular2@2.0.0-贝塔。1
  • Rxjs(rxjs@5.0.0-贝塔。1) 在控制台中检查控制台/资源时成功导入

我尝试了不同的进口:

导入'rxjs/add/operator/map'

导入'rxjs/rx'

但是我一直收到错误http。员额(……)。地图不是一项功能

更新-代码上下文

let body = "email=" + email + "&password=" + password;
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-from-urlencoded');
this.http.post('http://angular.app/api/v1/auth') // angular.app is laravel backend
      .map( (responseData) => {
          return responseData.json();
      })

共有2个答案

晏炳
2023-03-14

看来Angular2β。1需要RxJS 5.0。0-β。也许这就是你问题的原因。

如果我在我的. json文件中尝试这个:

"dependencies": {
    "angular2": "2.0.0-beta.1",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.1",
    "zone.js": "0.5.10"
},

我有一个错误,Angular2需要RxJS 5.0.0-beta.0。

编辑

您需要在bootstrap函数的第二个参数中添加HTTP\u提供程序。

希望对你有帮助蒂埃里

李星波
2023-03-14

对我来说,http.post(...). map()按预期工作。我确实需要导入'rxjs/Rx'

import {Component} from 'angular2/core';
import {Http} from 'angular2/http';
import 'rxjs/Rx';
@Component({
  selector: 'my-app',
  template: `
    <h1>{{title}}</h1>
    <p>Test result {{result | json}}</p>
    `
})
export class App implements OnInit{
 public title = 'my title';
 public result : String;

constructor(private _http : Http) {
  _http.post('http://jsonplaceholder.typicode.com/posts')
    .map(res => res.json())
    .subscribe(
      data => this.result = data,
      err => console.log('ERROR!!!'),
      () => console.log('Got response from API', this.result)
    );
  }
}

参见plunker示例:http://plnkr.co/edit/vise2zYxZUmr1kW65mNY?p=preview

希望这能帮你找到你的问题

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

  • 我试着按照教程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中的所有类型脚本都

  • 我试图在代码中使用以下服务: 问题是,在运行时,它会抱怨: 我已经定义res的数据类型为响应,但仍然抱怨 如果我用订阅替换地图,它工作正常:

  • 我已经用 我的服务就像 但是当我打电话的时候 它返回一个,它没有方法,它让我疯狂了好几个小时。我正在使用Babel来传输我的javascript代码。

  • 在我的服务中,我执行了一个超文本传输协议调用,并将响应返回为可观察的 我订阅了一个组件 这样做实际上是有效的;我可以在控制台中看到对象的转储 当我想从服务返回映射为json的响应时,出现了问题。 我想做他的 但在运行时,我得到了一个模糊的javascript错误(准确地说,这是来自Zone.js) 我已经尝试将返回类型从