javascript - 如何转换来自 http.post 响应 json 的数据以便我可以在我的应用程序中使用它?

标签 javascript json angular http post

我对网络开发和 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/

相关文章:

javascript - 如何使用 Jquery 触发 onload 事件?

javascript - 如果用户在 DIV 外部单击,什么脚本 "closes"是 DIV? (版本 5 或 >,不是 jQuery)

javascript - 无法从 thymeleaf 的 javascript 中解析 JSON 对象

使用 es6 而不是 Typescript 的 Angular cli

javascript - 使用 gulp-usemin 更新多个 html 文件

javascript - 无法使用 React Native 中的对象访问数组中的值

json 中的 php 变量

javascript - 加载必要 JSON 数据的最佳实践 : jquery's $(document). read() 钩子(Hook)?在页面的 <HEAD> 中?

javascript - 相同的函数通过设计模式在javascript中返回对象、数组或函数方面的多个值?

javascript - 为什么不改变 auth.guard 中的值?