2012-02-21 6 views
7

을 중지 내가 아약스를 만들기 위해 jQuery를 사용하고는어떻게 아약스 요청

$.ajax(
    url: "http://someurl.org", 
    success: function() { ... } 
); 

가 어떻게 수동으로 특정 아약스 요청을 중지 할 수 있습니다 요청?

xhr.abort(); 
+1

가능한 복제본 : http://stackoverflow.com/questions/446594/kill-ajax-requests-using-javascript-using-jquery –

+0

고맙습니다. 내가 어떤 하드 검색 후 그것을 찾지 못했습니다 – tsds

답변

22

$.ajax() 방법은 그렇게하는 데 사용할 수있는 개체를 반환 중지 할 수 없습니다. Ajax 요청이 시작되는 것을 중지 할 수 있지만 이미 작성된 요청은 중지시키지 마십시오.

+1

아약스는 시작에서 중지 할 수 있지만 한 번 그것을 막을 수 없게 만든 ... – JIA

+4

@ JIA, 당신은 브라우저에서 AJAX 요청을 중단 할 수 있지만 물론 있다면 이미 웹 서버에 충돌했습니다. 완전히 다른 이야기입니다. 웹 서버는 요청을 계속 실행합니다. 브라우저가 요청을 중단 한 후 웹 서버가 무효에 대한 응답을 보낼 것입니다. –

+0

@DarinDimitrov 그래서 그것은 이미 시작된 요청이'.abort' 메쏘드를 사용하여 중단되면 클라이언트 측에서 처리되지 않을 것이라는 것을 의미합니다 ... – JIA

4

아약스 요청은 HTTP 트랜잭션을 한 번 만들어 : 나중에 당신이 요청을 중지 할 때

var xhr = $.ajax(
    url: "http://someurl.org", 
    success: function() { ... } 
); 

과 :

+2

모든 HTTP 요청과 마찬가지로 XHR 요청은 진행 중에 중단 될 수 있습니다. 특정 Ajax 라이브러리가이 기능을 제공하는지 여부는 다른 문제입니다. – GregT