对同一页面的AJAX调用不是ASYNC

时间:2018-07-30 11:59:00

标签: javascript php ajax

我在对HTTP请求进行编码时遇到了这个问题:对http://142.93.47.235主机(LAMP)的同一页面的请求不是异步的。

这是我的意思:

服务器端具有3个文件:index.php,pindex.php和hindex.php。他们所有人的内容完全相同:

<?php
    $a = Date('H:i:s d, m, Y');
    set_time_limit(0);
    sleep(rand(1,10));
    $b = Date('H:i:s d, m, Y');
    exit($a." ".$b);

因此,我尝试使xhr循环访问此页面(或其中只有3次-运作方式相同)。

    var index = ["/","/pindex.php","hindex.php"];

    for (var i = 0; i < index.length; i++) {

        var url = "http://142.93.47.235";

        let request = new XMLHttpRequest();
        request.open("GET", url, true);
        request.onreadystatechange = function() {
            if(request.readyState === XMLHttpRequest.DONE && request.status === 200) {
                console.log(this.responseText);
            }
        };
        request.send();
    }

我希望这些请求能够异步响应,这就是为什么我说php随机休眠,并回显请求的开始时间和结束时间,所以我可以得到首先返回的确切信息。

例如,如果hindex.php文件生成3秒钟的睡眠,而index.php生成10秒,则hindex将首先应答。但是,无论什么时候睡眠时间长短不一,每次这三个请求都被一个接一个地发送。

0 个答案:

没有答案