我对网络开发和 Angular 还很陌生,所以我确定我遗漏了一些明显的东西,但我想不通。
相关代码如下:
@Component({
selector: 'app-search-permits',
templateUrl: 'search.permits.html',
})
export class SearchPermitsComponent {
apiRoot: String = 'http://localhost:8080/pzapp-servlet';
constructor(public http: Http) {}
test() {
console.log('GET');
const url = `${this.apiRoot}/controlleretax?message=getMstx`;
this.http.post(url, 'getMstx').subscribe(res => console.log(res.json()));
}
}
这会向我的浏览器控制台打印一个漂亮的 json。我想将 json 中的数据分配给一个对象(可能是 ArrayList?),这样我就可以在 html 的表格中显示数据。
如果重要的话,我使用的是 Angular Material2 表。
就像我说的,我是新手,所以如果您能具体一点,甚至在您的回复中添加代码片段,我将不胜感激。
谢谢
最佳答案
这是我的方法的样子,它通常在服务中:
服务
getMovies(): Observable<IMovie[]> {
return this.http.get<IMovie[]>(this.moviesUrl)
.pipe(
tap(data => console.log(JSON.stringify(data))),
catchError(this.handleError)
);
}
注意方法返回类型和 return
语句以从方法返回 Observable。
组件
然后订阅在组件中是这样的:
getMovies(): void {
this.movieService.getMovies()
.subscribe(
(movies: IMovie[]) => this.movies = movies,
(error: any) => this.errorMessage = <any>error);
}
或者
如果你不想搞乱这样的事情......你只需要声明并分配一个变量:
permits: Permits[];
test() {
console.log('GET');
const url = `${this.apiRoot}/controlleretax?message=getMstx`;
this.http.post(url, 'getMstx').subscribe(res => {
console.log(res.json());
this.permits = res;
});
}
关于javascript - 如何转换来自 http.post 响应 json 的数据以便我可以在我的应用程序中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947172/