Простой вызов ajax, кажется, блокирует

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

7
задан meta.matt 26 March 2011 в 00:11
поделиться