Проблема с настройкой тайм-аута в jQuery AJAX - PullRequest
0 голосов
/ 28 апреля 2009

У меня есть HTML-страница jQuery, которая загружает форму.

Форма имеет кучу настроек, но в итоге форма получает отправляется с помощью команды post (см. ниже), которая возвращает HTML страница, созданная скриптом, работающим на сервере.

Это работает нормально, за исключением случаев, когда скрипт выполняется дольше 5 минут. Команда post просто ничего не возвращает.

Я попытался использовать команду timeout на странице высокого уровня следующим образом:

$.ajaxSetup({ cache: false, timeout: 18000000 }) ;

Но, похоже, это не работает. У кого-нибудь есть предложение?

Вот команда post:

$.post('/cgi-bin/tw_lookup_3.cgi', lookupData, function(data){
  var page = $(data).find('input[name=result_dir]').val();
  $('#results').load( page + "/TW_LOOKUP_RESULTS.html");

  $('#SubmitQuery').attr('disabled',false);
  $('#SubmitQuery').val('Submit Query');
  $('#SubmitQuery').css('backgroundColor','');
  $('#SubmitQuery').css('color','');
},"html");

Ответы [ 2 ]

2 голосов
/ 29 апреля 2009

Возможно ли, что тайм-аут произошел на сервере, и он просто возвращает ошибку? Установите функцию обработки ошибок и определите, вызывается ли она. В любом случае обработка ошибок должна быть стандартной практикой в ​​любом случае, особенно если вы ожидаете, что это займет исключительно много времени (например, 5 минут!)

0 голосов
/ 01 мая 2009

Все, что я работал с коллегой по этому вопросу, и мы обнаружили, что проблема действительно в сервере, а не в веб-странице, где я пытался установить время ожидания.

Надеюсь, это поможет кому-то в будущем и спасибо за ответы.

Стив

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