Angular HTTP get请求在ngOnInit中不起作用

Angular HTTP get请求在ngOnInit中不起作用,angular,httpclient,Angular,Httpclient,我试图在组件加载时从后端API获取数据 服务文件中的API调用 其给出的响应低于(200)。我没有得到任何错误 code: "EINVALIDSTATE" message: "Requests can only be made in the LoggedIn state, not the SentClientRequest state" 如果我在(单击)上调用相同的服务,它可以正常工作 testClick(): void { this.post

我试图在组件加载时从后端API获取数据

服务文件中的API调用

其给出的响应低于(200)。我没有得到任何错误

code: "EINVALIDSTATE"
message: "Requests can only be made in the LoggedIn state, not the SentClientRequest state"
如果我在
(单击)
上调用相同的服务,它可以正常工作

 testClick(): void {
    this.postDataService.getFiles().subscribe( data => {
      console.log('test', data);
    });
  }
ngOnInit
中调用服务是否有任何问题。如何让它工作


编辑



经过这么多的故障排除,我发现当我试图直接加载子路由时,它给出了一个错误。如果我加载主页,然后单击链接导航到任何组件,则此api调用工作正常。

顺便说一句,请求只能在LoggedIn状态下发出,而不是SentClientRequest状态下发出。这不是角度错误。这是服务器端错误

 testClick(): void {
    this.postDataService.getFiles().subscribe( data => {
      console.log('test', data);
    });
  }

请看一看

您是否尝试过使用
OnChages
?@Rohith是的,我尝试过。但是没有运气当服务器处于
sentclienterrequest
状态时,
ngonit
中的请求可能被发送,而
testClick
中的请求在服务器处于
LoggedIn
状态时被发送。在发送请求之前,必须等待服务器处于
LoggedIn
状态。您有没有办法跟踪客户端的
loggedIn
状态?@fridoo经过大量调试后,我发现当我尝试直接加载子路由时出现了错误。如果我加载主页,然后单击链接导航到此组件,则此调用有效fine@fridoo对我不太明白。如果我在
app.componet.ts
中使用相同的api调用,它会正常工作。是的,我知道。但它与点击一起工作,所以混淆
 testClick(): void {
    this.postDataService.getFiles().subscribe( data => {
      console.log('test', data);
    });
  }