> 웹 프론트엔드 > JS 튜토리얼 > 예기치 않은 동작 없이 jQuery Ajax 호출에서 서버 리디렉션을 처리하는 방법은 무엇입니까?

예기치 않은 동작 없이 jQuery Ajax 호출에서 서버 리디렉션을 처리하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-16 19:40:15
원래의
772명이 탐색했습니다.

How to Handle Server Redirects in jQuery Ajax Calls Without Unexpected Behavior?

직접 눈맞춤 방지: jQuery Ajax 호출에서 리디렉션 관리

jQuery로 Ajax 호출을 실행할 때 서버에서 리디렉션 지시문을 만나면 의도하지 않은 결과가 발생할 수 있습니다. . div 요소를 예상대로 대체하는 대신 사용자가 무의식적으로 로그인 페이지를 쳐다보는 상황이 발생할 수 있습니다.

통찰력 있는 게시물에서 제안한 것처럼 이 문제에 대한 해결책은 HTTP 상태 코드를 다음과 같이 조정하는 것입니다. 278이어야 합니다. 이렇게 하면 브라우저가 자동으로 리디렉션을 처리하지 못하게 됩니다. 그러나 보다 강력한 접근 방식을 위해서는 JSON을 활용하는 것이 좋습니다.

이 시나리오에서 응답에 관계없이 Ajax 호출은 상태 코드 200을 유지합니다. 응답 본문에는 서버에서 제작된 JSON 개체가 포함되어 있습니다. 이 개체를 사용하면 클라이언트측 JavaScript가 해당 내용을 기반으로 적절한 작업을 결정할 수 있습니다.

이 접근 방식을 구현하면 다음 논리를 모방합니다.

$.ajax({
    type: "POST",
    url: reqUrl,
    data: reqBody,
    dataType: "json",
    success: function(data, textStatus) {
        if (data.redirect) {
            window.location.href = data.redirect;
        } else {
            $("#myform").replaceWith(data.form);
        }
    }
});
로그인 후 복사

서버에서 구성된 데이터 개체는 data.redirect와 data.form이라는 두 가지 주요 구성 요소로 구성됩니다. 이 방법은 Ajax 호출 중 리디렉션 요청을 처리하는 데 더 큰 유연성과 명확성을 제공합니다.

위 내용은 예기치 않은 동작 없이 jQuery Ajax 호출에서 서버 리디렉션을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿