IE10上的setInterval

时间:2015-05-19 18:31:28

标签: javascript ajax internet-explorer-10

setInterval函数不适用于I.E. 10.我有一个网页,当提交表单时,它将在服务器上触发一个用于下载文件的漫长过程。我使用setInterval重复轮询服务器以获取进度,以便用户获得有关进度的某种更新。

ProgressServlet只会被调用一次。我没有在另一个网络浏览器上测试这个,因为它是非法的#34;在我公司使用其他浏览器。



id

<script>

var myVar;

function validateForm()
{
	//validation logic omitted
        myVar = setInterval(getProgress(), 1000);
	return true;	
}			


function getProgress() {
	//ProgressServelt will return progress of the long process on the server
	$.get("ProgressServlet", $.now(), function(res) {
		if (res != "9999" || res == "No value avaliable")  {
			$("#progress").html(res);

		} else {
			$("#progress").html("Stopped: " + res);
			clearInterval(myVar);
		}
	});
		
}

</script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

更改

myVar = setInterval(getProgress(), 1000);

myVar = setInterval(getProgress, 1000);

那就是:传递函数,而不是它返回的函数。