делать обновления jquery post () - проверка, не удалось ли установить соединение / тайм-аут - PullRequest
1 голос
/ 10 декабря 2010

Для простой веб-страницы я делаю регулярные вызовы php-скрипта через jQuery post (), чтобы внести изменения в базу данных и затем получить некоторую обновленную информацию обратно.

Иногда эти вызовы не выполняются, но уведомления нет.

Может кто-нибудь посоветовать мне лучший метод для проверки ошибок? так что я могу отобразить сообщение, если обновление завершится неудачно из-за потери соединения, тайм-аута или чего-либо еще, что может произойти и будет проверено явно?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2010

Прежде всего - убедитесь, что вы используете обратный вызов события успеха с его объектом ответа для исключения любых ошибок на стороне сервера.

$.ajax({
   //... other ajax options
   success: function(response){
      alert(response);
   }
});

Ваш php-скрипт , по сути , повторяет ответ на эту функцию успеха. Это может быть простая строка «success», «fail» или даже JSON / XML string

Второй ...

Вы можете установить опцию тайм-аута, чтобы исключить эти ошибки:

$.ajax({
  //...other ajax options...
  timeout: 5000 //5 second timeout
});

В-третьих ...

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

$.ajax({
   error: function(XMLHttpRequest, textStatus, errorThrown){
   //handle errors here
   }
});

Из документов jQuery на ajax

Ошибка:

Функция, вызываемая при запросе выходит из строя. Функция передана три аргументы: объект XMLHttpRequest, строка, описывающая тип ошибки что произошло и необязательно объект исключения, если таковой возник. Возможные значения для второго аргумент (кроме нуля) является «тайм-аут», «ошибка», «немодифицированный» и "Parsererror". Это Ajax Event . Этот обработчик не вызывается Запросы JSONP, потому что они не используйте XMLHttpRequest.

0 голосов
/ 10 декабря 2010

Проверьте эту ссылку.Это объясняет, как бороться с тайм-аутом:

http://www.bennadel.com/blog/1500-Catching-Timeout-Errors-With-jQuery-Powered-AJAX.htm

Игнорировать начальную часть.Проверьте код JQuery.

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