JQuery没有响应的脚本错误

时间:2012-09-26 09:51:55

标签: java ajax jquery jquery-plugins

我有六个以上的功能,例如下面通过服务器检索数据到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() {

                  }
             });
      }

2 个答案:

答案 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”?