Ajax Double Call - PullRequest
       6

Ajax Double Call

0 голосов
/ 12 января 2011

с этой функцией

<script type="text/javascript">
function ajaxcall(div, page)
{
if (window.XMLHttpRequest)
  {xmlhttp=new XMLHttpRequest();}
else
  { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById(div).innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET",page,true);
xmlhttp.send();
}
</script>

Я использую свой AJAX.Но на странице я вызываю 2 раза эту функцию:

<script type="text/javascript">ajaxcall("menu", "perfil.php");</script> 
<script type="text/javascript">ajaxcall('mapadiv', "map2.php");</script>

Но бывает, что работает только одна из них, если я удаляю одну, другая работает.Что я делаю не так?Спасибо!

Ответы [ 3 ]

0 голосов
/ 12 января 2011

попробуйте объявить "var xmlhttp" в начале выполнения функции.

0 голосов
/ 12 января 2011

При первом вызове функции ajaxcall создается объект xmlhttp, и к тому времени, когда вы отправляете запрос, вы вызываете ту же функцию, и объект перезаписывается. Вот почему работает только один запрос. Во избежание этого вы можете сохранить объекты в массиве и затем обработать его.

0 голосов
/ 12 января 2011

Вероятно, что ajaxcall выдает ошибку и вызывает остановку выполнения.

Запустите его через отладчик и выясните, в чем дело (Firebird, Chrome Developer Tools и т. Д.).

...