Проблема с представлением Ajax? - PullRequest
0 голосов
/ 26 мая 2010

Я использую Ajax для отправки данных на сервер (код PHP) и их обновления. Я публикую много данных один за другим, но между сообщениями Ajax происходит сбой, и я не возвращаю readyState в 4. код выглядит следующим образом

function getHttpRequest()
{
   var request=false;
   if(window.XMLHttpRequest)
   {
       request=new XMLHttpRequest();
   }
   else if(window.ActiveXObject)
   {
       try
       {
           request=new ActiveXObject("Msxml2.XMLHTTP");
       }
       catch(e)
       {
           try
           {
               request=new ActiveXObject("Microsoft.XMLHTTP");
           }
           catch(e)
           {
               request=false;
           }
       }
   }

   return request;
}

код начинается здесь ..

function updateAnswer(){
var request=getHttpRequest();
request.open('post','addAnswer.php');
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.send("answer="+ans);

if(request.readyState == 4)
{
    var response=request.responseText;
    document.getElementById("display").innerHTML=response;
}
}

я вызываю эту функцию, чтобы обновить ответ в базе данных, но иногда она не возвращает статус = 4 ... пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 26 мая 2010

Почему бы не облегчить жизнь и не использовать такую ​​среду, как jQuery?

Кроме того, вы не можете опубликовать все данные за один раз, таким образом, сохранить несколько обратных обращений на сервер?

0 голосов
/ 26 мая 2010

innerinnerHTML должно быть innerHTML. updateAnswer вызывается каждый раз, когда readyState меняется с нуля на четыре. Четыре полностью загружены, в то время как те меньшие - различные стадии загрузки.

...