Проблема: XMLHttpRequest - обработать потерянное соединение с сервером - PullRequest
5 голосов
/ 18 декабря 2008

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

xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);

Сейчас этот сценарий приводит к ошибке JavaScript: «Система не может найти указанный ресурс»

Ответы [ 3 ]

3 голосов
/ 18 декабря 2008

Хорошо, я решил это, используя try ... catch xmlhttprequest.send

xmlhttp.open("POST","Page.aspx",false);              
       try
       {
       xmlhttp.send(null);
       }
       catch(e)
       {
            alert('there was a problem communicating with the server');
       }       
2 голосов
/ 18 декабря 2008

Попробуйте свойство тайм-аута.

xmlHTTP.TimeOut= 2000 
1 голос
/ 18 декабря 2008

Вы не проверяете правильность возвращенного статуса. По коду, который вы дали, вы делаете запрос GET. Чтобы правильно проверить состояние вашего запроса, вы должны создать обработчик событий для события onreadystatechange, а затем внутри него проверить, если свойство readyState равно 4, а затем внутри метода, если статус 200.

Вы можете найти подробное объяснение здесь: Учебник по Ajax от Mozilla

 
xmlhttp.onreadystatechange=function()

xmlhttp.open("GET","Page.aspx",false);
{
  if (xmlhttp.readyState==4) 
  {
     if (xmlhttp.status==200)
     {
       //Ajax handling logic
     }
  }
}
xmlhttp.send(null);



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