JavaScript의 setInterval 함수를 사용하여 매초마다 텍스트 파일의 내용으로 텍스트 영역을 HTML 페이지로 업데이트하려고합니다. 그러나 setInterval 호출 내부의 함수는 한 번만 실행되는 것처럼 보입니다.JavaScript setInterval은 한 번만 실행됩니다.
자바 스크립트 :
// Send a GET request to the given location
function sendRequest(location, nonblocking) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", location, nonblocking);
xmlhttp.send();
return xmlhttp.responseText;
}
// Refresh the communication log
function refreshLog() {
document.getElementById("comm_log").value = sendRequest("src/log.txt", false);
}
window.setInterval(refreshLog, 1000);
요청이 텍스트 파일이 오래 결코 간단하기 때문에 비동기 아니며, 이것이 내가 빨리 함께 던져하려고 무언가이다.
HTML :
<html>
<head>
<style type="text/css">
textarea {
width: 98%;
height: 80%;
resize: none;
font-family: "Courier New";
}
</style>
<script type="text/javascript" src="src/script.js"></script>
</head>
...
<textarea id="comm_log" readonly></textarea>
...
</html>
누구나 아이디어를 가지고?
콘솔에 오류가 있습니까? –
제발 하지마. AJAX뿐만 아니라 JavaScript 자체는 이벤트 기반 비동기 언어입니다. 편의를 위해 그것을 우회하려고하지 마십시오. – voithos
왜 동기식 AJAX를하고 있습니까? 그건 차단 및 일반적으로 나쁜 연습, 어떻게 그것을 피하기 위해 [이 답변보기] (http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call/16825593# 16825593) –