Angular2 http post不以它应该的方式提供数据

时间:2016-02-22 07:07:53

标签: angular

我有以下问题:我有一个http.post请求从服务器获取json数据。它正常运行,当我在这个方法中记录this.data时,我得到了所需的数据。但是,一旦我尝试调用此数据,该方法似乎不会以它应该的方式填充它。我想出了这么多,但不是为什么或如何解决这个问题。

authenticate(username, password) {
    var creds = JSON.stringify({ 
      UserName: username.value, 
      UserPassword: password.value, 
      SetDebug: true
    });

    var headers = new Headers();

    headers.append('Content-Type', 'application/json');

    // SERVER
    this.http.post('http://demo/aariworx5/api/login/login', creds ,{headers: headers})
    .subscribe(
    res => {
        this.data = res.json();
    },

    error => console.log(error)
    );
  }

1 个答案:

答案 0 :(得分:2)

我猜您在设置之前访问this.datasubscribe(...)最终会执行,但Angular2会在向服务器发出请求时继续执行其他操作。

您的问题没有提供足够的信息来提供更详细的指导如何解决问题。通常它就像

{{data.UserName}}
抛出。这可以通过安全导航(elvis)操作员

来解决
{{data?.UserName}}