我从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);
答案 0 :(得分:2)
您没有执行Ajax:
xmlHttp.open("POST", url, false);
// ^^^^^
// Puts the request into synchronous mode
在同步模式下,调用将阻塞,直到响应返回。这束缚了JS事件循环。
将false
更改为true
。