在Angular 4中调用API时数据丢失

时间:2018-05-11 06:25:13

标签: angular typescript angular4-forms

在我的angular 4应用程序中,我在ngOnInit中有两个API调用,我只是试图将从第一个API调用返回的数据传递给第二个。

但我在API方法中收到了“Undefined”。

代码:

ngOnInit() {

        this.http.get('https://api.ipify.org/?format=json').subscribe(
            data => {
                this.ip_Address=data['ip'],
                console.log(this.ip_Address),   
                error => console.error(error)
            });

            this.http.get(`http://localhost:xyz/api/data/INSERT_USER_SESSION/?IP_Address=${this.ip_Address}&Time=${this.date_and_time}&state=${this.session_Begin_Status}`)
            .subscribe(data => this.res = data['']);
}

这里我将IP地址传递给第二个API调用,但值为“undefined”。但我在控制台中获得了IP。

请告诉我我在哪里犯了错误。

1 个答案:

答案 0 :(得分:1)

如果响应为200且数据正文包含数据而不是解析数据,则可以使用数据的响应,如果第一个服务有响应数据,则可以调用第二个服务,这样您就不会收到此错误,另一种方法是制作函数并在你的onInIt中调用它