【发布时间】:2012-12-06 11:03:01
【问题描述】:
我有一个 cgi 脚本,它根据它提交的查询字符串执行搜索。
这一切都很好。
但是由于搜索可能需要一些时间,并且用户可能会开始另一个搜索。我希望在开始第二次搜索之前中止第一次搜索,但是如果我在 AJAXRequest 函数的开头插入 xmlhttp.abort(),则 cgi 脚本根本不会启动。
谁能告诉我这是怎么做到的?
提前致谢!
这里是 AJAX 代码 sn-p
var xmlhttp;
function AJAXRequest()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
window.document.getElementById("resultlist").innerHTML=xmlhttp.responseText;
}
}
var queryString= "from=03-01-2006&to=04-30-2006&pattern=345";
xmlhttp.open("POST","../cgi-bin/search.exe?"+queryString);
xmlhttp.send();
}
【问题讨论】:
-
xmlhttp.open("POST","../cgi-bin/search.exe?"+queryString,true);- 实际上true参数是不需要的,因为这个值默认是true。 -
@EvgeniyNaydenov 我删除了第三个参数
标签: javascript ajax web-applications xmlhttprequest