如果JSON响应中不可用,如何以角度检查http 200状态代码

时间:2019-02-26 06:01:57

标签: angular

身份验证服务

 logout() {
      return this.http.post(this.logOutApi, null);
    }

状态代码未在后端的json响应中显示,但在邮递员的状态上显示。如何获取状态码。

ts文件

logout() {
    this.chk.logout().subscribe((res: any)=>{
      if(res.status == 200) //doesnt work{
      console.log(res);
      })
      }
    }, (err)=>{
      alert("There was a problem logging you out");
    });
}

3 个答案:

答案 0 :(得分:0)

它受到error回调的作用

, (err)=>{
  alert(err.status);
});

答案 1 :(得分:0)

您可以使用1. crimson 10.3% 2. maroon 9.8% 3. darkslategrey 9.2% 4. dimgrey 8.4% 5. grey 8.1% read the full response的选项,包括成功处理程序中的状态代码。这将使您可以访问类型为HttpResponse的响应:

服务:

{ observe: 'response' }

组件:

logout() {
  // you should consider providing a type
  return this.http.post(this.logOutApi, null, { observe: 'response' });
}

希望有帮助!

答案 2 :(得分:0)

除200以外,您将在错误块中获得状态代码。因此,在这里您将必须像下面

一样进行相应处理
 logout() {
        this.chk.logout().subscribe((res: any)=>{
          if(res.status == 200) //doesnt work{
          console.log(res);
          })
          }
        }, (error)=>{
          if (error.status === 500) {
                alert('Server down please try after some time');
          }
          else if (error.status === 404) {
               alert('Server down. Please try after some time');
         }

        });
    } 

希望获得帮助