2017-10-06 1 views
0

MEAN 스택 프로젝트에서 작업 중이며 각도 4와 관련하여 이상한 문제가 있습니다.이 방법은 WAS이지만 과거에는 작동하지 않았습니다.Angular4 약속 콜백이 호출되지 않음

프런트 엔드에서 사용자를 삭제하려고합니다. 페이지가 userService.delete()에 대한 호출을 보내면 함수는 사용자를 성공적으로 삭제하는 백엔드에 요청을 보냅니다. 그런 다음 응답으로 "성공적으로 소멸 된"200을 반환합니다. 브라우저에서 응답을 볼 수는 있지만 응답 콜백은 응답을 처리하기 위해 호출되지 않습니다. 예 : 서비스 호출

:

this.userService.deleteUser(localStorage.getItem('email'),localStorage.getItem('auth_token'), this.userId) 
     .then(response => { 
     console.log('got response') // <== never prints 
     if (response == "successfully destroyed") { 
      window.location.href = `/admin/users`; 
     } else { 
      alert("could not delete successfully") 
     } 
     }) 

UserService 기능 :

deleteUser(email:string, auth_token:string, id:string): Promise<any> { 
const body = {email: email, auth_token: auth_token, id:id}; 
return this.http.post('/api/users/delete', body) 
    .toPromise() 
} 

호출되지 도착 결코 .then과 페이지가 아무것도하지 않는다.

미리 도움 주셔서 감사합니다. :)

+0

서버에서 오류가 발생하는지 확인하십시오. – Avi

+0

콘솔에 오류가 있습니까? 이것이 CORS 문제 일 수 있습니까? –

+0

각도 4+에서'http.post'에'toPromise()'메서드를 사용할 수 없기 때문에 어떤 각도 버전을 사용하고 있습니까? – asmmahmud

답변

0

답을 직접 찾았습니다.

어떤 이유에서든 객체/사전이 아닌 문자열을 전달하려고하면 약속 콜백이 호출되지 않습니다.

대신 "successfully destroyed"

{ 
    status: "successfully destroyed" 
} 

는 다른 사람이 도움이되기를 바랍니다 : 나는 내 서버 반환했습니다!

관련 문제