gpt4 book ai didi

angular - Http.post 错误 : map is not a function in Angular 2

转载 作者:太空狗 更新时间:2023-10-29 17:43:07 27 4
gpt4 key购买 nike

我正在尝试通过 http.post 函数从 url 获取数据。但我收到错误。app.component.ts文件源码:

import {Component} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {Http, HTTP_PROVIDERS, Headers} from 'angular2/http';
@Component({
selector: 'my-app',
template: `
<div>
<button (click)="postData()">Post Data</button>
<p>Posted the following values:</p>
<div>{{postResponse.id}}</div>
<div>{{postResponse.name}}</div>
</div>`
})
export class AppComponent {
result: Object;
http: Http;
postResponse = new Person();

constructor(http: Http) {
this.http = http;
}

postData(){
var headers = new Headers();
headers.append('Content-Type', 'application/json');

this.http.post('http://141.79.39.454:8008/the-link-something-like-this...', JSON.stringify({"id": 1, "name": "Новые"}),{headers:headers})
.map(res => res.json())
.subscribe((res:Person) => this.postResponse = res);
}
}

class Person{
id:number;
name:string;
}

bootstrap(AppComponent, [HTTP_PROVIDERS]);

URL 中的 JSON 看起来像 this.当我点击按钮时,我得到的错误如下所示:

EXCEPTION: Error during evaluation of "click"
Uncaught EXCEPTION: Error during evaluation of "click"
ORIGINAL EXCEPTION: TypeError: this.http.post(...).map is not a function
ORIGINAL STACKTRACE:
TypeError: this.http.post(...).map is not a function
at AppComponent.postData (http://localhost:3000/app/app.component.js:35:26)
at AbstractChangeDetector.ChangeDetector_AppComponent_0.handleEventInternal (eval at <anonymous> (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:10897:14), <anonymous>:124:33)
at AbstractChangeDetector.handleEvent (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:8788:22)
at AppView.dispatchEvent (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:9396:39)
at AppView.dispatchRenderEvent (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:9391:19)
at DefaultRenderView.dispatchRenderEvent (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:7819:53)
at eventDispatcher (http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:9781:19)
at http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:9852:14
at http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:15370:34
at http://localhost:3000/node_modules/angular2/bundles/angular2.dev.js:7874:18
ERROR CONTEXT:
[object Object]run @ angular2-polyfills.js:143zoneBoundFn @ angular2-polyfills.js:111

最佳答案

也许您可以尝试在导入中添加以下内容:

import 'rxjs/add/operator/map';

更多详细信息请参阅此问题:https://github.com/angular/angular/issues/5632 .

希望对你有帮助,蒂埃里

关于angular - Http.post 错误 : map is not a function in Angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421487/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com