그래서 아래와 같은 게시물이 있습니다. 로그인에 POST 요청을 보내고 응답이 비어 있습니다. 예상대로 괜찮습니다.하지만 'Authorization'헤더에 액세스해야합니다.
액세스 할 방법을 찾지 못했습니다.
const data = {email: "email", password: "password"};
this.http.post(`/login`, data).pipe(
tap(resp => {
console.log(resp); // it will be an empty string
return resp;
})).subscribe((resp: any) => {
console.log(resp.headers.get('Authorization')); // error: Cannot read property 'headers' of null
});
업데이트 TheUnreal의 답변에서 영감을 받아 옵션을 추가했습니다.
this.http.post(`/login`, data, {observe: 'response'} )...
이제 'Cache-Control'과 같은 일부 헤더에 액세스 할 수 있습니다.
아마도 서버 측의 나머지 헤더를 표현해야 할 것입니다.
Sam Walpole이 댓글 섹션에 있습니다.이 질문의 대부분은 그가 제공 한 링크에서 답변되었습니다. 확인하세요.
TheUnreal이 제안한대로 게시물에 옵션을 추가했지만 저에게는 '응답'이 필요했습니다.
this.http.post(`/login`, data, {observe: 'response'} )
서버 측에서는 Access-Control-Allow-Headers 및 Access-Control-Expose-Headers 헤더 를 설정하고 노출해야합니다.
약간 벗어난 주제이지만-누군가를 도울 수 있습니다-이것이 Java Spring에서 구성이 어떻게 보이는지입니다.
configuration.setAllowedHeaders(Arrays.asList("Authorization", "Cache-Control", "Content-Type", "Access-Control-Allow-Headers", "Origin,Accept", "X-Requested-With", "Content-Type", "Access-Control-Request-Method", "Access-Control-Request-Headers"));
configuration.addExposedHeader("Authorization");
Sam Walpole은이 질문의 댓글 섹션에 있습니다.이 질문의 대부분은 그가 제공 한 링크에서 답변되었습니다. 확인하세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다