진행중인 Ajax 요청이 있는지 확인하는 방법이 있습니까? 뭔가 같은 :진행중인 Ajax 요청 jQuery
if ($.ajax.inProgress){ do this; } else { do that; }
진행중인 Ajax 요청이 있는지 확인하는 방법이 있습니까? 뭔가 같은 :진행중인 Ajax 요청 jQuery
if ($.ajax.inProgress){ do this; } else { do that; }
당신은 기본적으로 false
와 아약스에 설정 스크립트의 상단에 변수를 설정해야합니다은 true
로 설정하고 success
핸들러에 described here로 다시 false
로 설정 시작합니다.
자바 스크립트 코드를 완전히 제어하는 경우 ajax 요청을 시작할 때마다 변수를 증가시키고 요청이 완료되면 성공, 실패 또는 시간 초과로 감소시킬 수 있습니다. 진행중인 요청이있는 경우 항상이 방법으로 알 수 있습니다.
네이
$.ajax({
type: 'get',
url: 'url',
data: {
email: $email.val()
},
dataType: 'text',
success: function(data)
{
if(data == '1')
{
$response.attr('style', '')
.attr('style', "color:red;")
.html('Email already registered please enter a different email.');
}
else
{
$response.attr('style', '')
.attr('style', "color:green;")
.html('Available');
}
},
beforeSend: function(){
$email.addClass('show_loading_in_right')
},
complete: function(){
$email.removeClass('show_loading_in_right')
}
});
나는 이것이 OP의 질문을 다루지 않는다고 생각합니다. 그는 요청을 보내기 전에 또는 요청이 완료된 후에 처리기를 발사하는 방법을 알고 싶지 않습니다. 요청이 * 진행 중일 때 특정 이벤트를 시작하려고합니다. ... – SexyBeast
당신이 좋아 수 있습니다
$(document).ready(function() {
var working = false;
$("#contentLoading").ajaxSend(function(r, s) {
$(this).show();
$("#ready").hide();
working = true;
});
$("#contentLoading").ajaxStop(function(r, s) {
$(this).hide();
$("#ready").show();
working = false;
});
$('#form').submit(function() {
if (working) return;
$.post('/some/url', $(this).serialize(), function(data){
alert(data);
});
});
});
는 아약스 요청을 취소하려면 사용
if($.active > 0){
ajx.abort();//where ajx is ajax variable
}
를 아약스 요청을 계속 실행하려면 사용
if($.active > 0){
return;
}
$ .active에 관한 설명서를 찾을 수 없습니다. 이 기능을 적용하기위한 몇 가지 예를 보여줄 수 있습니까? –
@ 가넷, 다음 게시물을보십시오. http://stackoverflow.com/questions/3148225/jquery-active-function. – StartCoding
가끔씩 가장 좋은 해결책은 가장 간단한 해결책입니다 :) 감사합니다! – bah
@bah : 환영합니다. 동의 : – Sarfraz
안녕하세요! 웹 페이지를 테스트 중이며 Ajax 요청이 자바 스크립트를 사용하여 완료되었는지 (예 : 웹 페이지를 제어 할 수 없으며 Java 스크립트를 삽입 할 수 있음) 어떻게 알 수 있습니까? –