2013-10-06 2 views
1

네이티브 javacript에있는 Ajax 요청을 취소하고 매우 동일한 네이티브 javascript를 사용하여 요청을 취소 할 수있는 방법을 알려줄 수 있습니까?네이티브 javacript를 사용하여 이미 시작된 AJAX 요청을 취소하는 방법

요청을 특정 시간에 완료했는지 확인하고 아직 대기중인 요청을 취소하지 않은 경우 백그라운드 작업으로 작성중인 스크립트를 제공하는 것을 목표로합니다.

내가 본 모든 스크립트는 Javascript로 태그가 지정되어 있지만 실제로는 관심이 없으며 사용에 관심이없는 것을 사용하지 않고 직접 메서드를 작성하는 것을 선호합니다.

약간의 도움을 주시면 감사하겠습니다.

그래서 난

xmlHTTP.cancel(); 

또는

xmlHTTP.kill(); 

나는 JQuery와 중단이 있음을 알고 있지만이 기본 명령의 별칭입니다 같은 명령을 사용합니까, 그래서 포인터를 감상 할 수있다.

+0

일부 코드를 표시 할 수 있습니까? –

+0

네이티브 메소드가 중단되었습니다 ... jquery의 중단 호출은 [XMLHttpRequest] (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)의 메소드를 호출 할 가능성이 높습니다. –

+0

코드가 필요하지 않습니다. 진행중인 AJAX 요청을 취소하는 것이 적절한 명령인지 알고 싶었습니다. 서버가 응답하는 데 시간이 너무 오래 걸리는 경우 프로세스가 취소 된 후 나중에 다시 시도됩니다. 현재 질문에 답변을하고 있기 때문에 현재 작성중인 AJAX 스크립트가 제대로 작동하고 있기 때문입니다. 이것은 개인 프로젝트이며 집에서 LAN을 기반으로합니다. –

답변

2

abort() - 문서에 있습니다.

+0

답장을 보내 주셔서 감사합니다. Google에서 만든 모든 검색어의 경우가 JQuery로 바뀌었고 abort()가 JQuery의 일부로 등장했습니다. –

-2

XHR 호출을 초기화하려면 jQuery를 사용하고 jQuery.ajax 메서드를 사용하는 것이 좋습니다. abort 메소드를 사용하여 기존 XHR 호출을 삭제할 수 있습니다.

var xhr = null; 

if (xhr != null) { 
    xhr.abort(); //If xhr is not null then abort before init new XHR call 
} 

var xhr = jQuery.ajax({ 
     cache: false, 
     url: "http://www.example.org/ajax.php", 
     dataType: "json", 
     data: { 
      param1: "", 
      param2: "" 
     }, 
     type: "POST", 
     crossDomain: true, 
     beforeSend: function (jqXHR, settings) { 
      //TODO 
     }, 
     success: function (data) { 
      //TODO 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      //TODO 
     }, 
     complete: function (jqXHR, textStatus) { 
      //TODO 

      xhr = null; //nulify xhr once we finish XHR call 
     } 
    }); 
+0

-1 : OP가 명시 적으로 언급했는데 두 번은 jQuery 버전이 필요하지 않습니다. – millimoose

관련 문제