我是Angularjs的新手。我需要将post请求发送到我的localhost服务器。但我收到错误[ts]无法找到姓名' map'并且找不到姓名'订阅'。 我希望能理解我的错误。提前谢谢。
login.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Http ,Headers ,HttpModule} from '@angular/http';
import 'rxjs/add/operator/map';
/**
* Generated class for the Login page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class Login {
constructor(public navCtrl: NavController, public navParams: NavParams,public http:Http) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad Login');
}
ionViewidData(){
let headers= new Headers();
headers.append('Content-Type','application/json');
let body = {
device:"Mobile",
id:"10077",
password:"leechan2"
};
console.log(body);
this.http.post('http://0.0.0.0:2800/login',JSON.stringify(body),{headers:headers});
.map(res => res.json())
.subscribe(data =>{
console.log(data);
});
}
}
答案 0 :(得分:2)
您在第;
行有一个意外的this.http.post
。
this.http.post('http://0.0.0.0:2800/login',JSON.stringify(body),{headers:headers}) // <--------- remove ; here
.map(res => res.json())
.subscribe(data =>{
console.log(data);
});
答案 1 :(得分:2)
**删除;在this.http.post之后并尝试在构造函数**中使用私有http:Http
this.http.post('http://0.0.0.0:2800/login',JSON.stringify(body),{headers:headers})
.map(res => res.json())
.subscribe(data =>{
console.log(data);
});
答案 2 :(得分:0)
语法错误有时会产生奇怪的错误,这些错误可能不会直接指向您的根本原因。你用';'完成了'post'方法所以你的'map'方法不会在任何对象上调用。 “。”左侧没有任何内容。导致无法找到'map'方法。除掉 ';'在'headers}之后;'。
像这样:
this.http.post('http://0.0.0.0:2800/login',JSON.stringify(body),{headers:headers}).map(res => res.json()).subscribe(data =>{ console.log(data); });