开发者问题收集

服务器数据未传来:Angular2

2016-09-01
71

我已经使用 Java 中的 REST 创建了一个简单的应用程序,该应用程序使用 REST 客户端成功返回字符串值。现在我想使用 Angular2 中的 Http rest 客户端获取字符串值。我已经创建了从 angular2 中的 rest 客户端获取数据的服务,该服务表示成功访问 rest,但是当我打印 {{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")
    );
}

>

我的 rest 应用程序在 tomcat 上运行。

2个回答

更改:

return this._http.get(this.url).map(res => res.json);

至:

return this._http.get(this.url).map(res => res.json());
stijn.aerts
2016-09-01

我知道这不是真正的答案,但作为评论它不起作用:

如果将其更改为

ngOnInit() {
    this._httpService.getSiftgridData()
        .subscribe(
          data => {
            this.serverData = JSON.stringify(data);
            console.log(data);
          },
          error => console.log("Error in getting Data"),
          () => console.log("Successfully")
    );
}

数据会打印吗?
成功 打印了吗?

Günter Zöchbauer
2016-09-01