我有以下几点:同时AJAX调用导致的随机误差
myfunc = function(url, callback, etc...) {
$.ajax({
type: 'GET',
url: url,
etc.});
}
function changeDivThis(data) {
$('#this').html(data);
}
function changeDivThat(data) {
$('#that').html(data);
}
,我连续两次调用AJAX get函数:
myfunc('/getData?mode=THIS', changeDivThis, etc...);
myfunc('/getData?mode=THAT', changeDivThat, etc...);
,其结果是,在一些显著分数时间,比如说20%的时间,id ='this'的div将填充由THAT调用返回的数据。当我查看应用程序服务器日志时,发现一些意想不到的情况,例如只有一个请求。
当我运行在Firebug中时,从未发生错误,一切都很好。我注意到Firebug大大降低了浏览器的运行速度,所以我认为这是解决这个问题的一个线索,与并发性有关。第二次调用在某些时刻首先从服务器返回,浏览器认为它是对第一次调用的响应。正确?
因此,在我有限的AJAX体验中,我认为它支持在服务器上抛出几个并发请求,然后按照它们返回的顺序排列响应。这个问题使我相信AJAX(或者我的Firefox版本= 3.6.24/jQuery = 1.4.4)会看到两个请求到同一个url,尽管它们都有不同的参数。
我在Google上看到了这个排名很高的页面:http://blogger.forgottenskies.com/?p=173,这让我相信我并不是唯一一个遇到过这个问题的人。
感谢您的任何见解。
您可以在代码中展开“etc ...”部分吗?你不显示你如何插入回调(我想它是'成功:回调'),你不会显示你干扰其他选项。 – LeGEC