2014-04-29 22 views
8

W PhoneGap Jak anulować ajax żądanie w programie, chciałbym ustawić przycisk Anuluj do sterowania żądania, gdy jest zbyt powolnyJak mogę anulować żądanie Ajax?

$.ajax({ 
    type: "GET", 
    url: url, 
    success: function(m) { 
     alert("success"); 
    } 
}); 
+2

jest Google w dół lub zakład wyszukiwania SO nie działa? – Satpal

+1

@Satpal Nie jestem pewien, dlaczego tak zadane pytanie zostało przegłosowane tak bardzo ... –

+0

@ A.Wolff, Nawet się zastanawiam. – Satpal

Odpowiedz

6

hi to podobnie jak Abort Ajax requests using jQuery, w każdym razie to może pomóc

var ab = $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 

//kill the request 
ab.abort() 
5

Store interfejs obietnica wrócił z Ajax żądanie w globalvariable i abort go na anulować kliknij

var result = $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 


$('#cancel').click(function() { 
    result.abort(); 
}); 
+0

czy możesz to dopracować? – Tuhin

+0

Możesz zapisać wynik w zmiennej 'global' i' abort' przy wywołaniu przycisku –

+5

Nie przechowujesz wyniku, przechowujesz zwróconą odroczoną obietnicę, i ujawniasz natywny XMLHttpRequest, który ma metodę przerwania . – adeneo

2
var request= $.ajax({ type: "GET", url: url, success: function(m) { alert("success"); } }); 


$('#cancel').click(function() { 
    request.abort(); 
}); 

będzie przerwać żądanie od klienta (przeglądarki) stronie, ale uwaga: jeśli serwer otrzymał już req uest, może kontynuować przetwarzanie żądania (w zależności od platformy serwera), nawet jeśli przeglądarka nie oczekuje już odpowiedzi. Nie ma niezawodnego sposobu, aby serwer WWW przerwał przetwarzanie żądania, które jest w toku.

+0

Czekaj, jak to się różni od już wysłanej odpowiedzi ??? EDYCJA: twoje słowa o serwerze, które go nie obsługują, są intrygujące. –

+0

Właśnie wyjaśniłem. nic więcej. PO powinien wiedzieć, co tak naprawdę się stanie, nie tylko, jak można to osiągnąć. – Tuhin

+0

Ya, zredagowałem mój poprzedni komentarz, zgadzam się tutaj! –