Здравствуйте. Не могу полностью разобраться с работой асинхронных запросов.
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 секунду)