在web应用程序中,许多jQuery+;Ajax+;PHP进程不能在同一个客户端中并行运行

在web应用程序中,许多jQuery+;Ajax+;PHP进程不能在同一个客户端中并行运行,php,jquery,ajax,parallel-processing,Php,Jquery,Ajax,Parallel Processing,在与一台服务器交互的web应用程序中,有一个jQueryAjax调用和一个PHP脚本,执行大约需要20秒 $(document).ready(function() { $.ajax({ type: 'POST', dataType: 'json', url: 'createPDF.php', data: str, success: function(response) { showPD

在与一台服务器交互的web应用程序中,有一个jQueryAjax调用和一个PHP脚本,执行大约需要20秒

$(document).ready(function() {
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: 'createPDF.php',
        data: str,
        success: function(response) {
            showPDF(response);
        }
        error: function() {
            console.log('ERROR WHEN CREATING PDF');
        }
    });
});
同时,用户要求应用程序通过另一个jQueryAjax独立程序从createPdf获取列表(getList.php)

$(document).ready(function() {
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: 'getList.php',
        data: str,
        success: function(response) {
            showList(response);
        }
        error: function() {
            console.log('ERROR WHEN GETTING LIST');
        }
    });
});
问题是getList.php只在createPDF.php完成后才开始执行

应用程序与会话一起工作,测试在不同的客户机中完成,在这种情况下,两个请求并行运行,但在同一台计算机上它们不并行

在这个场景中,如何并行运行两个请求


谢谢

基本上,在您的服务器上,会话文件被第一个脚本锁定,例如,
saveFiles
。该脚本完成任务后,会话将再次解锁。不幸的是,您的脚本
getList
想要访问同一个会话,因为它被锁定,
getList
将不得不等待,直到它被解锁

一种解决方案是在完成对会话数据的所有写入后调用
session\u write\u close()。该调用显然应该在
session\u start()
之后尽快发生,以尽量减少其他请求的等待时间


关于更详细的解释,请看

您是否尝试将
异步:
选项设置为true?我尝试过,但它是默认设置的,因此没有任何区别。您是否尝试过从php脚本中删除所有逻辑,并暂时让服务器等待x秒以模拟当前情况,如果这个问题仍然存在,或者其他事情出了问题,我只是很感兴趣!?你看到了吗?是的,成功了,谢谢:)