>

인증 서비스

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");
    });
}


  • 답변 # 1

    { observe: 'response' } 옵션을 사용할 수 있습니다  성공 처리기에서 상태 코드를 포함한 전체 응답을 읽습니다. 이렇게하면 HttpResponse 유형의 응답에 액세스 할 수 있습니다.

    서비스 :

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

    구성 요소 :

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

    다행히 도움이되었습니다!

  • 답변 # 2

    error 에 들어갑니다  콜백

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

  • 답변 # 3

    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');
             }
            });
        }
    
    

    도움을 빕니다

관련 자료

  • 이전 기본 소프트웨어 대신 다른 소프트웨어로 "git log"를 어떻게 변경합니까?
  • 다음 hadoop - Oozie는 임의의 노드에서 쉘 스크립트를 실행합니다