"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript Fetch API로 로그인 한 후 리디렉션을 처리하는 방법은 무엇입니까?

JavaScript Fetch API로 로그인 한 후 리디렉션을 처리하는 방법은 무엇입니까?

2025-02-06에 게시되었습니다
검색:500

How to Handle Redirects After Login with JavaScript Fetch API?

JavaScript Fetch API를 사용하여 로그인 한 후 다른 페이지로 사용자를 리디렉션하는 방법? 리디렉션 응답으로 리디렉션은 클라이언트 측에서 자동으로 추적됩니다. 이는 리디렉션 모드가 fetch () 함수에서 기본적으로 따라야하기 때문입니다. 결과적으로 사용자는 새 URL로 리디렉션되지 않지만 오히려 Fetch ()는 해당 무대 뒤에서 리디렉션을 따르고 리디렉션 URL의 응답을 반환합니다.

이를 극복하려면이를 극복 할 수 있습니다. 응답은 귀하가 요청한 요청의 결과입니다. 그렇다면 응답의 URL 속성을 검색 할 수 있습니다. 응답의 URL 속성을 검색 할 수 있습니다. 응답의 URL 속성을 검색 할 수 있습니다. 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 응답의 URL 속성을 검색 할 수 있습니다.이 변경 사항은 ** 후 ** javaScript의 Window.Location.href를 사용하여 획득 한 최종 URL을 반환 할 수 있습니다. 페이지 리디렉션). Window.location.href 대신 Window.location.replace ()를 사용할 수도 있습니다. HREF 속성 값 설정과의 차이점은 Location.Replace () 메소드를 사용할 때 주어진 URL을 탐색 한 후 현재 페이지가 세션 기록에서 저장되지 않다는 것입니다.

예제 코드 :

document.getElementById("myForm").addEventListener("submit", function (e) {
  e.preventDefault(); // Cancel the default action
  var formElement = document.getElementById("myForm");
  var data = new FormData(formElement);
  fetch("http://my-server/login", {
    method: "POST",
    redirect: "follow", // Change it to "manual" if you want to handle redirects manually
    body: data,
  })
    .then((res) => {
      if (res.redirected) {
        window.location.href = res.url; // or, location.replace(res.url);
        return;
      } else {
        return res.text();
      }
    })
    .then((data) => {
      document.getElementById("response").innerHTML = data;
    })
    .catch((error) => {
      console.error(error);
    });
});
document.getElementById ( "myform"). addEventListener ( "제출 (e) (e) e) { e.preventDefault (); // 기본 조치를 취소합니다 var formelement = document.getElementById ( "myform"); var data = 새로운 formdata (formelement); fetch ( "http : // my-server/login", { 방법 : "post", 리디렉션 : "팔로우", // 수동으로 리디렉션을 처리하려면 "매뉴얼"으로 변경하십시오. 신체 : 데이터, }) . ((res) => { if (res.redirected) { Window.location.href = res.url; // 또는, location.replace (res.url); 반품; } 또 다른 { return res.text (); } }) . 그런데 ((data) => { document.getElementById ( "응답"). innerHtml = data; }) .catch ((오류) => { Console.error (오류); }); });

참고 :

Cross-Origin 요청을 사용하는 경우 위치를 포함하려면 서버 측에서 액세스 제어 응답자 응답 헤더를 설정해야합니다. 헤더. Cors-Safelisted 응답 헤더 만 기본적으로 노출되기 때문입니다.

릴리스 선언문 이 기사는 1729207339에 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3