Действительно простой вопрос.Я пытаюсь протестировать веб-сервис Restful, который я разрабатываю, и у меня есть простой вызов ajax (с использованием jquery):
<script type="text/javascript">
$(document).ready(function() {
var url = '/index.php/gettest/reallyLongRequest';
$.ajax({
url: url,
dataType:'text',
success:function(data) { $('#result').html(data);},
error:function(xhr,err,e) { alert ("Error: " + err);}
});
});
</script>
Он запускается при загрузке страницы.Когда он работает, страница блокируется;т.е. (я вижу песочные часы рядом с указателем мыши) никакие другие действия пользователя не могут быть обработаны.(Кстати, этот конкретный запрос на получение - намеренно - занимает очень много времени, чтобы вернуться).
Почему это так?А (асинхронный) JAX верно?Очевидно, я делаю ошибку для начинающих.Любые идеи, пожалуйста?
Когда я пытаюсь сделать это, используя обычный JavaScript (без библиотеки), он работает как положено.Это как-то связано с обработкой Jquery функции xhr onreadystatechange?
Спасибо за поиск.
РЕДАКТИРОВАТЬ: несколько человек предложили установить async: true, что по умолчанию является значением по умолчаниюв jquery, и как таковой не имеет никакого эффекта.
РЕДАКТИРОВАТЬ: Как упоминалось ранее, если я использую обычный javascript и запускаю это с таймером, например, window.setInterval(function() { startLongPoll(); }, 5000)
Он обновляется, как ожидается, без появления блокировки.Идеи, кто-нибудь?