我有六个以上的功能,例如下面通过服务器检索数据到html页面并更新html,它一直在查看网页时运行。我遇到的问题是在一段时间后网页弹出警告,
Firefox中的警告弹出警告
此页面上的脚本可能正忙,或者可能已停止响应。 您可以立即停止脚本,也可以继续查看脚本 将完成。
脚本:“http://../javax.faces.resource/jquery-1.7.2.js?ln = js:3983”
收到此警告后,网页功能无法响应,是否有解决此问题的方法?是因为我编码的方式存在问题吗?为什么它指向jquery库?
的代码: 的
function myDatapoll(){
$.ajax({
type : "GET",
url : '../jsonData/',
dataType : "json",
async : true,
cache : false,
success: function(data) {
if(data!=null){
if($("span[id='accBal-"+data.pID+"']").length>0){
$("span[id='accBal-"+data.pID+"']").text(parseFloat(data.accBal).toFixed(2));
}else{
$("#cash").html('<span id="accBal-'+data.pID+'">'+parseFloat(data.accBal).toFixed(2)+'</span>');
}
}
setTimeout('myDatapoll()',1000);
},
error : function() {
}
});
}
答案 0 :(得分:2)
只需一次拍摄:将setInterval
放在您的功能之外而不是setTimeout
:
setInterval('myDatapoll()',1000);
function myDatapoll(){
//same as before but remove the setTimeout
}
答案 1 :(得分:0)
在这种情况下不要使用setInterval。无论请求是否完成,使用setInterval,myDatapoll()每1000毫秒执行一次。它只会增加麻烦。您实现的setTimeout方法是正确的方法。我不确定你为什么在Firefox中获得该异常。
您确定dataType吗?您正在请求xhtml文件,数据类型设置为“json”?