페이지에서 이동할 때 jQuery ajax 게시 오류를 처리하는 방법
JQuery 내의 Ajax 요구에서 발생한 오류를 사용자가 페이지에서 이동하면 오류가 무시되도록 처리하는 방법이 있습니까?
$(document).ready(function() {
$.ajax( {
url:'/server/url/',
type: 'POST',
data: {some..data},
success:function(response) { do stuff with response },
error: function(xhr, textStatus, errorThrown) {
// Don't raise this alert if user has navigated away from the page
alert('error');
}
});
이 문제를 해결할 수 있는 좋은 방법을 아는 사람이 있나요?난 네가 어떤 논리를 만들어 낼 수 있다는 걸 알아$(window).bind("beforeunload", function(){})
Chrome이 지원하지 않는 것 같기 때문에, 이것을 하지 않고 대처할 수 있는 방법이 있으면 좋겠습니다.예를 들어, 이 경우 반환되는 특정 오류가 있습니까?
감사해요.
이에 대한 해답은 jqXHR.status를 조사하는 것 같습니다.XMLHttpRequest 사양에서는 상태를 설정하기 위한 다음 절차의 개요를 설명합니다.
상태 속성은 다음 단계를 수행한 결과를 반환해야 합니다.
상태가 UNSENT 또는 OPENED이면 0을 반환하고 다음 단계를 종료합니다.
에러 플래그가 설정되어 있는 경우는, 0 을 반환해, 다음의 순서를 종료합니다.
HTTP 상태 1코드를 반환합니다.
주의:에러 플래그는 네트워크 오류 또는 요청 중단을 나타냅니다.이것은 처음에 설정 해제되어 DONE 상태에서 사용됩니다.
따라서 이 코드 체크를 통해 문제를 해결할 수 있을 것으로 알고 있습니다.
if (xhr.status == 0)
alert('error');
1https://web.archive.org/web/20120204040047/http://www.w3.org/TR/XMLHttpRequest/ #상태 표시
상태 확인은 잘 안 됐지만
// Ignore incomplete requests, likely due to navigating away from the page
if (jqXHR.readyState < 4) {
return true;
}
(4가 DONE 중).
저도 이 문제를 몇 번 다뤄야 했어요.
에 바인딩하는 것을 추천합니다.$(window).unload
event, 이름 공간 등 특정 변수 설정(App.unloading = true
) and 、 call error call콜백으로 테스트합니다.
http://api.jquery.com/unload/ 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/9229005/how-to-handle-jquery-ajax-post-error-when-navigating-away-from-a-page
'programing' 카테고리의 다른 글
mongoose는 왜 항상 내 컬렉션 이름 끝에 s를 추가합니까? (0) | 2023.03.26 |
---|---|
워드프레스 플러그인의 옵션 페이지에 페이지 번호를 붙이고 싶습니다. (0) | 2023.03.26 |
각도 JS에 입력할 바인딩 값 (0) | 2023.03.26 |
vcode 패키지json 문자열이 패턴과 일치하지 않습니다. (0) | 2023.03.26 |
WooCommerce 제품 설명에 사용자 지정 콘텐츠 추가 (0) | 2023.03.21 |