AngularJS 애플리케이션에서 저는 서버 URL에 $ http.post 호출을합니다. 이 URL의 성공 응답은 30x 리디렉션입니다. 문제는 $ http.post가이 리디렉션을 엄격하게 따르고 최종 호출의 결과를 success 콜백에 반환한다는 것입니다. 이 리디렉션을 가로 채고 사용자 (브라우저 URL 변경)를 최종 페이지로 수동으로 리디렉션하고 싶습니다. 그것은 가능한가?
4
A
답변
6
docs에 따라 $http
서비스는 브라우저의 XMLHttpRequest 객체 또는 JSONP를 통해 원격 HTTP 서버와의 통신을 용이하게하는 핵심 서비스입니다.
XMLHttpRequest의 사양을 알고 있으면 리디렉션을 가로채는 것이 불가능할 수도 있습니다. 응답이 네트워크 301, 302, 303, 307, 또는
리디렉션 위반하면 308 무한 루프 예방책의 HTTP 상태 코드가 있으면
그래서 리디렉션 긴 발생하고 중지 할 수 없습니다.말한다 오류.
그렇지 않으면, 다음 단계를 실행합니다
Location 헤더에 의해 전달되는 URL에 대한 요청의 URL을 설정합니다.
요청 원 URL과 요청 URL의 출처가 동일한 경우 같은 출처 요청 이벤트 규칙을 준수하면서 리디렉션을 투명하게 따르십시오.
그렇지 않으면 교차 출처 요청 단계를 따르고이 알고리즘의 단계를 종료하십시오.
HTTP 리디렉션 동안 요청 방법과 요청 엔터티 본문의 보존 에 대한 사용자 에이전트에 대한 요구 사항을 배치하고, 또한 최종 사용자가 자동 리디렉션 특정 종류의 통보해야합니다. 각도가 그것에 대해 아무것도 할 수 있기 전에
또 다른 옵션은 $http
을 자신의 서버로 호출 한 다음 리디렉션을 따르지 않도록 설정할 수있는 cURL 서버 측 (서버 측 사용 언어에 따라 다름)을 사용하여 리소스를 얻는 것입니다.
관련 문제
- 1. 내 브라우저에서 리디렉션을 피하는 방법
- 2. http 리디렉션을 식별하는 방법
- 3. Angular2, HTTP 리디렉션을 방지하는 방법
- 4. http 요청에서 팝업을 피하는 방법
- 5. HTTP 리디렉션을 로컬 또는 원격에서 식별하는 방법
- 6. Python에서 urlopen 또는 urllib2로 국가 기반 리디렉션을 피하는 방법
- 7. HTTP 리디렉션을 처리하도록 MSXML IXMLHTTPRequest를 얻는 방법?
- 8. 클라이언트와 서버간에 채팅 앱의 다음과 같은 불일치를 피하는 방법은 무엇입니까?
- 9. HTTP 리디렉션을 따르는 PHP 스크립트
- 10. JMeter에서 HTTP 리디렉션을 수정하려면 어떻게해야합니까?
- 11. Web.go http 리디렉션을 어떻게 수행합니까?
- 12. AngularJs - $ http 결과를 얻는 방법
- 13. 다음과 같은 두 가지 HTTP 요청이 발생합니까?
- 14. 방법 다음과 같은 방법으로 방법
- 15. Java 비동기식으로 HTTP 리디렉션을 기다립니다.
- 16. nyroModal에서 http 302 리디렉션을 처리합니다.
- 17. AngularJS $ http POST가 다음과 성공으로 다른 결과를 요청합니다.
- 18. JavaScript를 사용하여 http 이외의 리디렉션을 감지합니다.
- 19. AngularJS 체이닝 $ http
- 20. iis7 http 301 리디렉션을 구성하는 방법은 무엇입니까?
- 21. AngularJS $ http 약속에 대한 트리거 오류 조건은 무엇입니까? 다음과 같이
- 22. AngularJs $ http 게시 페이지로드
- 23. 2D 배열 같은 번호를 피하는 방법
- 24. 나는 다음과 같은 매크로를
- 25. php - 리디렉션을 통해 리디렉션을 리디렉션 한 후 100 % 리디렉션하는 방법
- 26. AngularJS 중첩 $ http 호출
- 27. 앵커가있는 URL로 HTTP 리디렉션을 보낼 수 있습니까?
- 28. 302 리디렉션을 비활성화하는 방법
- 29. 다음과 같은 오류를 해결하는 방법?
- 30. 다음과 같은 오류를 제거하는 방법?
사실이 아닙니다. $ http.post 호출의 결과는 최종 목적지의 결과입니다. – Marco