为什么AJAX有时会发送两个相同的请求
问题描述:
我正在使用AJAX很长一段时间,它有时会发送一个请求,然后就像它错误发送另一个请求,第二个请求得到响应,但第一个请求会持续加载到无限(在FireBug上),并且捕获响应的代码不会被触发... 当您发送请求时,它被另一端处理,但是当您从中获取数据时,它不会始终工作。为什么AJAX有时会发送两个相同的请求
这里是代码:
function ajaxF(urlr,obradi, data)
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
if (first != 1)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
}
xmlHttp.onreadystatechange=function()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
if (xmlHttp.responseText != '')
{
if (obradi == 'dosomething')
{
//do something
}
}
}
}
}
xmlHttp.open("POST",urlr,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", data.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(data);
}
data = 'value=1';
ajaxF("file.php", "dosomething",data);
答
我没有回答你的问题,但你尝试使用了一个框架,Ajax请求,如JQuery或原型?两者都非常简单易用,而且似乎没有得到这些错误,因为它们已经得到了很好的调整。
对不起,如果这没有任何帮助。
你真的应该使用类似jQuery的东西。 – 2011-03-10 05:59:38