我有一个jQuery Ajax函数,它从服务器请求数据。
代码找到所有跨距,获取其ID并将其发送到json.php以获得结果。每个id返回一个不同的值,它们的加载时间也不同。假设一个人立即加载,另一个人在10秒内加载。
什么是错的:好的,一旦页面加载,所有请求都会被发送到json.php,但是如果第三个跨度将立即返回结果,那么前两个的WAITS首先加载!!
场景:我有3个跨度,第一个必须在9秒内返回,秒必须在4秒内返回,第三个必须在5秒内加载。 发生的情况如下:第一个跨度出现在9秒后,秒跨度出现在9 + 4秒之后,最后一个跨度出现在9 + 4 + 3秒内。
以下是代码:
<script>
function getData(d){
var r=Math.floor(Math.random()*500)
$('#'+d).addClass('load');
var handler = '';
$.get('json.php?request='+d+'&r='+r, function(data) {
var obj = jQuery.parseJSON(data);
for (var i = 0; i < obj.length; i++) {
var object = obj[i];
for (property in object) {
handler = object[property];
$('#'+d).removeClass('load');
$('#'+d).html(handler);
}
}
});
return true;
}
$(document).ready(function() {
$("span").each(function() {
getData($(this).attr('id'));
});
});
</script>
<span id="first_data"></span>
<span id="second_data"></span>
<span id="third_data"></span>
这里有什么不对吗?