为什么AJAX有时会发送两个相同的请求

时间:2011-03-10 05:55:58

标签: ajax

我正在使用AJAX很长一段时间,它有时发送一个请求,然后就像它的错误它发送另一个请求,第二个请求获得响应,但第一个请求继续加载到无限(在FireBug上),并编码抓住反应不是触发...... 发送请求时它很好,它由另一方处理,但当你从中获取数据时,它不能一直工作......

这是代码:

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);

1 个答案:

答案 0 :(得分:1)

我没有你的问题的答案,但你有没有尝试使用框架的Ajax请求,如JQuery或Prototype?两者都非常易于使用,并且似乎没有出现这些错误,因为它们已经过精心调整。

很抱歉,如果这没有任何帮助。