AJAX定期间隔

时间:2013-03-09 09:26:37

标签: javascript ajax

我从javascript定期(10秒)调用ajax来从db加载数据。响应列在一个小div中。但是每10秒一次,我面临界面无法响应用户操作的问题,如鼠标点击,按键等。任何有关此主题的帮助将不胜感激。

代码

var onlineLeads = function () {
var reqst ="";
var size="";
var url ="<s:property value="str_applicationPath"/>/Marketing/Online_showNewRequest";   
xmlHttp.open("POST", url, false);                                           
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function() {//Call a function when the state changes.
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {

//Code for display

}
}
xmlHttp.send(); 
setTimeout(onlineLeads, 15000);
};
setTimeout(onlineLeads, 1000);

1 个答案:

答案 0 :(得分:2)

您没有执行Ajax:

xmlHttp.open("POST", url, false); 
//                        ^^^^^ 
//        Puts the request into synchronous mode

在同步模式下,调用将阻塞,直到响应返回。这束缚了JS事件循环。

false更改为true