programing

요청이 중단되었는지 탐지하는 방법

goodsources 2023. 3. 17. 21:27
반응형

요청이 중단되었는지 탐지하는 방법

나는 요청을 하고 나서 바로 중단한다.

var x = $.get(url, function (d, e, xhr) { alert(d); });
x.abort();

문제는 이 명령어가 실행된다는 것입니다.success함수 및 빈 데이터 반환...(여기에 표시)

중단하는 jQuery 메서드가 있습니까?아니면, 이 시스템이 정상적으로 동작하고 있는지 확인할 수 있는 방법이 있나요?xhr중단되었습니까?

오프라인 모드에서 요청 중지를 검출하고 false positive를 회피하는 최선의 방법은 다음과 같습니다.

$("#loading").ajaxError(function(event, xhr) {
  if (xhr.status === 0) {
    if (xhr.statusText === 'abort') {
      // Has been aborted
    } else {
      // Offline mode
    }
  }
});

여기서 알게 된 건xhr상태와 함께 돌아갑니다.0jQuery 1.4+ 버그인 것 같습니다.1.3에서는 에러 핸들러를 호출했습니다.

편집: 시험해 보세요:

x.onreadystatechange = null;
x.abort();

효과가 있는 것 같아.어떤 부작용이 있는지 확실하지 않아요.


원답:

받은 답변만 테스트하면 될까요?

var x = $.get("./", function (d, e, xhr) {
    if(d) {
        // run your code with response
        alert(d);
    }
    // otherwise, nothing will happen
});

이것은 고의로 만든 것이다.테스트 여부data요청이 올바르게 응답했는지 여부를 판별하기 위해 null이 됩니다.

jQuery.get()의 요구가 에러 코드를 반환했을 경우 스크립트가 글로벌메서드를 호출하지 않는 한, 이 요구는 사일런트하게 실패합니다.

이 일은 이쪽에서 처리하면 도움이 될지도 모른다

언급URL : https://stackoverflow.com/questions/3648309/how-to-detect-if-a-request-was-aborted

반응형