Как я должен остановить "в процессе" JQuery POST? - PullRequest
4 голосов
/ 15 июля 2011

У меня есть пост jQuery ajax, куда я загружаю большие файлы с помощью POST. Я хочу дать пользователю возможность отменить отправку, нажав кнопку, пока отправка выполняется. Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 15 июля 2011
var xhr = null;

xhr = $.ajax({
    url : 'www.example.com?some-large-call',
    success : function(responseText) {
        // some DOM manipulation
    }
});

$("#cancel").click(function() { xhr.abort() });

Это должно работать для вас

0 голосов
/ 15 июля 2011

В худшем случае вы можете попробовать что-то вроде этого

var isRequestCancelled = false;

isRequestCancelled = false;

$.post({ url:"", success:function{
   if(isRequestCancelled){
     //Alert the user with cancel message
   }
   else{
     //Confirm the user
   }
}
});

//Show a cancel buttons once you post to server and on cancel click set the global variable.

$(".cancel").click(function(){ isRequestCancelled = true;});
0 голосов
/ 15 июля 2011

Взгляните на это сообщение в блоге , в котором объясняется метод XMLHTTPRequest.Abort (). Я считаю, что это то, что вы ищете.

...