Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryajax加载序列_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jqueryajax加载序列

Javascript jqueryajax加载序列,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个jqueryajax函数,可以从服务器请求数据 代码查找所有跨度,获取其ID并将其发送到json.php以获得结果。每个id返回不同的值,其加载时间也不同。假设一个瞬间加载,另一个在10秒内加载 错误:好的,一旦页面加载,所有请求都会发送到json.php,但是如果第三个跨距立即返回结果,它会等待前两个跨距先加载 场景:我有3个跨度,第一个跨度必须在9秒内返回,第二个跨度必须在4秒内返回,第三个跨度必须在5秒内加载。 发生的情况如下:第一个跨度在9秒后出现,第二个跨度在9+4秒后出现,最

我有一个jqueryajax函数,可以从服务器请求数据

代码查找所有跨度,获取其ID并将其发送到json.php以获得结果。每个id返回不同的值,其加载时间也不同。假设一个瞬间加载,另一个在10秒内加载

错误:好的,一旦页面加载,所有请求都会发送到json.php,但是如果第三个跨距立即返回结果,它会等待前两个跨距先加载

场景:我有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>

函数getData(d){
var r=Math.floor(Math.random()*500)
$('#'+d).addClass('load');
var handler='';
$.get('json.php?请求='+d+'&r='+r,函数(数据){
var obj=jQuery.parseJSON(数据);
对于(变量i=0;i
这里有什么问题吗???

什么浏览器


我不明白你的问题。您是否在问为什么三个ajax调用的响应时间不同?您是否在询问如何对ajax结果排序,以便结果按特定顺序显示?您是在问如何在跨度之间以特定的时间和顺序显示结果吗?我希望每个跨度都相应显示。e、 g.span 2只需3秒钟即可加载,因此我希望结果在3秒钟内显示。span 1加载需要20秒,所以我希望它在20秒后出现。。。在这里,跨度2需要23秒,而不是3秒。而且请求是异步完成的,所以我真的不明白。我建议在页面启动时查看Firebug(免费Firefox插件)中的网络面板,看看ajax请求是否由浏览器持有。实际上是这样的!当我检查Firebug时,它们是异步执行的,但是一旦之前的请求完成,它们就保持在加载状态。这也可能是因为您的服务器一次只能处理一个请求,所以它们在那里被序列化。顺便说一句,很好。但是,我在document.ready中调用了我的函数,以确保所有其他请求都已完成加载。但我肯定我在并发性方面有问题。@Reza这不是让其他请求完成加载,而是让n个Ajax请求挂起,但在FF7/8中,您会得到两个以上的请求,所以这是另外一回事。