【问题标题】:can get data out of http request可以从http请求中获取数据
【发布时间】:2018-08-26 23:41:11
【问题描述】:

我在将数据接收到变量时遇到问题。

这行得通:

    this.http.get(some_url).subscribe(
        data => {
            console.log(JSON.parse(data['_body']))
    });

但如果我尝试将值传递给变量而不是打印它,它就不起作用:

    this.http.get(some_url).subscribe(
        data => {
            this.var = JSON.parse(data['_body'])
    });

我需要你的帮助,我什么都试过了。 谢谢!

【问题讨论】:

    标签: frontend angular2-http


    【解决方案1】:

    这似乎不是 angular 2 问题。可以尝试以下步骤调试吗?

    1. 在进行 GET 调用时检查控制台 (F12) 是否有任何错误
    2. 打印将返回的数据存储到变量中
    3. 变量赋值行上方是否有任何行未发布?

    我创建了一个 plunker,您可以在其中看到变量赋值的作用 https://embed.plnkr.co/MEHTZ92HgZhEbUZlBELQ/

    app.component.ts如下

    import { Component } from '@angular/core';
    import { Http } from '@angular/http';
    
    @Component({
      selector: 'my-app',
      template: `
        <div>
          <p>Content: {{ content }}</p>
        </div>
      `,
    })
    export class AppComponent {
    
      content: string;
    
      constructor(private http: Http) {
       this.http.get('https://jsonplaceholder.typicode.com/posts/1').subscribe(
            data => {
                this.content = data
        });
      }
    
    }
    

    我得到的结果是

    Content: Response with status: 200 OK for URL: https://jsonplaceholder.typicode.com/posts/1
    

    当然,不应将构造函数用于网络调用和类似的繁重工作,而应使用ngOnInit,但为了举例,我在构造函数中进行了调用

    【讨论】:

      猜你喜欢
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 2018-05-16
      • 1970-01-01
      相关资源
      最近更新 更多