我想在document.ready中使用jquery執行ajax.get。但get似乎阻止瀏覽器。ajax調用document.ready阻止瀏覽器
虛設例如: http://jsfiddle.net/gauravshah/HpfXL/
我試圖執行得到的document.ready,結果需要大約15-17秒的時間內服務器上生成。所以在那之前瀏覽器似乎被阻止了。對於前景背景圖像不生動。
其次,在IE 8瀏覽器掛起,直到收到請求。
類似的問題:Simple ajax call seems to be blocking 建議爲通話使用延遲,但爲什麼要使用延遲?我沒有找到正確的解決方案。
我的實際代碼:(不知道這將是有幫助)
$(document).ready(function(){
feat_id = "feat-2222"
$.post('/features/creator/get_existing/'+feat_id, {
"url":url,
'path':path,
'parentURL':parentURL,
'index':index
},function(data){
var new_id = $(data).attr('id')
$(data).find('.featureLocation').html($(data).find('.featureLocation').html());
$(obj).replaceWith(data)
})
});
是您的Ajax調用同步或臺異步?你的jsFiddle擁有40個同步的ajax調用 - 這是怎麼回事? – jfriend00 2011-12-19 06:24:24
默認情況下ajax調用是異步的...我想要模擬加載數據需要一些時間。但由於get不能在域外執行請求,我正在調用一些40個Ajax請求fom jsfiddle。我在服務器上的實際腳本大約需要15秒來計算..所以想要通過發出40個請求來模擬至少2-3秒 – 2011-12-19 06:26:42
在我看來,這不是一個非常有用的模擬,因爲不同的問題將發揮作用(如最大數量連接允許一次打開)。如果您的ajax調用確實是異步的,並且響應的處理不耗費時間,並且您沒有在等待響應的任何地方循環,那麼瀏覽器應該完全活動,但是我們需要查看您的真實代碼以向您提供想法。我建議向我們展示您的真實代碼,而不是與您的真實代碼沒有任何共同之處。 – jfriend00 2011-12-19 06:30:16