get_user_record()이 함수는 데이터베이스에서 데이터를 가져 오는 메소드를 호출합니다. 이 메서드는 응답을 원하지 않기 때문에 시간 제한을 사용했습니다. showUpdatedProgressBar() 메서드는 데이터베이스 수를 계속 확인하고 그에 따라 진행률 표시 줄에 값을 지정합니다. 그 목적을 위해 작동하는 setInterval() 함수를 사용했지만 간격을 지울 수 없었습니다. 제 잘못을 제게 제안 해주세요.Javascript clearInterval() 간격을 지울 수 없습니다.
function get_user_record(){
$.ajax({
url:"/GetData",
type: "GET",
timeout: 2000,
success:function(result){
//alert('success');
},
error: function(xhr, status, err){
//alert('Connection Error. Please try again.')
}
});
var timer = 0;
showUpdatedProgressBar(timer);
}
}
function showUpdatedProgressBar(timer){
$.ajax({
url:"/get_updated_data",
type: "GET",
success:function(result){
result = result.split(',');
var obj = {totalRecords: result[0], recordsTaken: result[1]};
var bar_value = obj.recordsTaken/obj.totalRecords * 100;
$("#progressbar").progressbar({ value: bar_value });
if(obj.recordsTaken == obj.totalRecords){
clearInterval(timer);
}
else
{
timer = setInterval(function(){ showUpdatedProgressBar(timer) },1000);
}
}
});
}
마지막 recordTaken == totalRecords 일 때, 그 시점에서 아약스는 성공한 것이 아니라 완료되었을 수 있습니다. 귀하의 아약스에 완성을 추가하고 시험을 해보십시오. –