我想在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