IT박스

XHR 요청에 대한 응답으로 리디렉션 반환

itboxs 2020. 6. 22. 08:08
반응형

XHR 요청에 대한 응답으로 리디렉션 반환


브라우저가 ajax 요청에 대한 리디렉션 응답을 받으면 어떻게됩니까?


브라우저가 ajax 요청에 대한 리디렉션 응답을 받으면 어떻게됩니까?

서버가 리디렉션 (일명 302 응답과 Location : 헤더)을 보내면 리디렉션 다음에 브라우저가 자동으로 나타납니다. 두 번째 요청에 대한 응답 (다른 리디렉션이 아니라고 가정)은 프로그램에 노출 된 것입니다.

실제로 302 응답이 발생했는지 여부를 감지 할 수 없습니다. 302 리디렉션이 200으로 연결되면 프로그램은 원래 요청이 200으로 직접 연결된 것처럼 동일하게 작동합니다.

이것은 나의 경험이자 스펙에 명시된 행동 이었다.

2016 업데이트 : 시간이 지났으며 좋은 소식은 새로운 fetch () APIXHR과 비슷한 기본 동작으로 리디렉션이 처리되는 방식을보다 세밀하게 제어하도록 지정되어 있다는 것 입니다. 즉, fetch ()가 기본적으로 구현되는 곳에서만 작동합니다 . XHR을 기반으로하는 fetch ()의 폴리 필 버전 에는 XHR의 제한 사항이 계속 있습니다 . 다행히도 기본 브라우저 지원 은 훌륭하게 마무리됩니다.


ajax-request그 리디렉션 AFAIK을 따릅니다. 실제 콘텐츠 ( .responseText, .responseXML)는 리디렉션 된 페이지의 콘텐츠입니다.

2 또는 3 에서 리디렉션 ( status-code, location-header) 을 가로 챌 수 readyState있지만 확실하지는 않습니다.

참고 URL : https://stackoverflow.com/questions/282429/returning-redirect-as-response-to-xhr-request

반응형