真的很簡單的問題。我想測試我正在開發一個RESTful Web服務,並有(使用jquery)這個簡單的Ajax調用:簡單的阿賈克斯調用似乎是阻止
<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)
它按預期更新,而不會出現阻止。想法,任何人?
我沒有,如果這是有關線索,但你有沒有嘗試在不同的瀏覽器? – 2011-03-25 20:52:31
它發生在所有瀏覽器中。 – 2011-03-25 21:27:31
看起來像我以前的陳述是不真實的;經過進一步檢查,它只發生在谷歌瀏覽器。有任何想法嗎? – 2011-03-29 23:15:41