Действительно простой вопрос. Я пытаюсь протестировать разрабатываемый мной веб-сервис 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)
Он обновляется, как ожидалось, без блокировки. Кто-нибудь из идей?