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 중국어 웹사이트의 기타 관련 기사를 참조하세요!