setInterval()
을 사용하여 진행률 표시 줄에 현재 진행 상황을 보여주는 AJAX가 있습니다. 내 문제는 진행률이 100 %에 도달하면 그것을 죽일 수없는 것입니다. 이것이 범위와 관련이 있는지 확신 할 수 없지만 내 처리기가 전역이므로 작동하지 않는 이유를 알 수 없습니다. 다음은 내가 가지고있는 것입니다.Javascript - 간격 및 setinterval 범위 지우기
function showLog(){
document.getElementById('log').style.display = "block";
clearInterval(inth);
return false;
}
function startAjax(){
var inth = setInterval(function(){
if (window.XMLHttpRequest){ xmlhttpp=new XMLHttpRequest();}else{ xmlhttpp=new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttpp.onreadystatechange=function(){
if(xmlhttpp.readyState==4 && xmlhttpp.status==200){
document.getElementById("sbar").innerHTML=xmlhttpp.responseText;
}
}
xmlhttpp.open("POST","scrape.php",true);
xmlhttpp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var sitelist = document.getElementById('website').value;
var par = "website="+sitelist;
xmlhttpp.send(par);
}, 5000);
return false;
}
clearInterval이 작동하지 않는 이유는 무엇입니까? 내가 도대체 뭘 잘못하고있는 겁니까?
100 % 도달 시점을 결정하는 코드는 어디에 있습니까? –
@Jack 진행률이 100 %에 도달하면 'scrape.php'에 인쇄됩니다. 원래 나는'if (xmlhttpp.responseText == "100 %")'유형의 것을 시도했지만 그렇게 잘되지 않았습니다. –