Показать сообщение отдельно
  #1 (permalink)  
Старый 24.02.2010, 11:21
Новичок на форуме
Отправить личное сообщение для Phantik Посмотреть профиль Найти все сообщения от Phantik
 
Регистрация: 24.02.2010
Сообщений: 1

Остановка Ajax запроса по таймауту.
Здравствуйте. Не могу полностью разобраться с работой асинхронных запросов.
function AjaxError()
{
 $.ajax().abort();
 alert($.ajax().readyState);
}
function AjaxDone(res)
{
 alert(res);
}
function OnButtonClick()
{
 $.post('/aaa.php',{a:"1"},AjaxDone);
 setTimeout("DrawProgressBar()",1000);
 setTimeout("AjaxError()",5000);
}

файл aaa.php
<?php
sleep(10);
echo "Server done";
?>

Собственно 2 вопроса:
1)
Выполняется функция AjaxError, alert выводит 1. Но после этого выполняется и AjaxDone. Почему запрос не прерывается? Как это можно исправить?
2)
Почему при остановке Апача, не выполняется(криво выполняется) код
setTimeout("DrawProgressBar()",1000);?
(Эта функция рисует поверх всего див с gif-ом загрузки, если ответ не получен через 1 секунду)
Ответить с цитированием