我在java中使用REST创建了一个简单的应用程序,它使用REST客户端成功返回字符串值。现在我想在Angular2中使用Http rest客户端获取字符串值。我已经创建了一个服务,用于从angular2中获取来自rest2的数据,该数据说成功访问休息但是当我打印像{{serverData}}这样的数据时,它什么都不打印。
service.ts
@Injectable()
export class HttpSiftgridService {
private url:string = "http://localhost:8080/app-rest/rest /get/getData";
constructor(private _http: Http) {}
getSiftgridData() {
alert(this._http.get(this.url).map(res => res.json));
alert("hh");
return this._http.get(this.url).map(res => res.json);
}
private handleError(error : Response) {
console.error(error);
return Observable.throw(error.json().error || ' error');
}
}
app.component.ts
export class AppComponent implements OnInit{
serverData: string;
constructor(private _httpService:HttpSiftgridService) {}
ngOnInit() {
this._httpService.getSiftgridData()
.subscribe(
data => this.serverData = JSON.stringify(data),
error => console.log("Error in getting Data"),
() => console.log("Successfully")
);
}
}
我的休息应用程序在tomcat上运行。
答案 0 :(得分:1)
变化:
return this._http.get(this.url).map(res => res.json);
要:
return this._http.get(this.url).map(res => res.json());
答案 1 :(得分:0)
我知道这不是一个真正的答案,但那不会起到评论的作用:
如果您将其更改为
ngOnInit() {
this._httpService.getSiftgridData()
.subscribe(
data => {
this.serverData = JSON.stringify(data);
console.log(data);
},
error => console.log("Error in getting Data"),
() => console.log("Successfully")
);
}
是打印的数据?
是Successfully
打印了吗?