我认为这不一定是间隔错误,但这就是正在发生的事情。
基本上,我为网站的这一部分构建了自己的“谷歌搜索”功能。它将列出一堆票类型项目,搜索功能允许他们像在 Google 中一样搜索票。当您键入时,它会填充您正在执行的搜索。
因此,interval 事件持续运行并调用 AJAX 函数(它显然调用了一个 .jsp 文件,该文件运行我编写的基于输入文本搜索数据库的方法),然后将返回的数据拆分并粘贴到网页上,你知道,标准的 AJAX 东西。
但是,当我尝试点击其中一个链接时,它似乎忽略了它就像我必须在某个时间点击它才能让页面注册点击一样。我可以减慢间隔,它可以缓解一些问题,但搜索似乎很慢。它仍然偶尔会忽略点击。链接是表格元素内的标准链接。
AJAX 函数 - 我在发回之前格式化了数据(我更喜欢 Java 编码而不是 JavaScript,所以我在那里做而不是 XD)
间隔设置为 500MS。所以它是一次全部替换文本,而不是逐行替换。所以我知道为什么要这样做:/我在使用连续间隔的其他页面上没有这个问题。但是,该页面没有 AJAX 调用。
function getResults(supplier, request, cat, type, displayFiles, input)
{
var output;
//Ajax variable
var xmlhttp;
//Makes the call to the ajax engine based on browser
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "getResults.jsp?supplier=" + encodeURIComponent(supplier) + "&request= " + encodeURIComponent(request) + "&cat= " + encodeURIComponent(cat) + "&type= " + encodeURIComponent(type)
+ "&displayFiles= " + encodeURIComponent(displayFiles) + "&input= " + encodeURIComponent(input);
xmlhttp.open("POST",url,true);
//Handling of the ajax call
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
output = xmlhttp.responseText;
//alert(output); //Gives the success or failure of the ajax call
document.getElementById("resultsBox").innerHTML = output;
}
}
xmlhttp.send(null);
}