Почему AJAX иногда отправляет два одинаковых запроса - PullRequest
0 голосов
/ 10 марта 2011

Я работаю с 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 Ответ

1 голос
/ 10 марта 2011

У меня нет ответа на вашу проблему, но вы пытались использовать фреймворк для запросов ajax, такой как JQuery или Prototype?Оба очень просты в использовании и, похоже, не получают эти ошибки, поскольку они были точно настроены.

Извините, если это не поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...