我一直在网上寻找答案,但还是没有解决我的问题。
我正在对同一个PHP脚本进行几次JQueryAjax调用。首先,我看到每个调用都是在前一个调用完成后才执行的。我通过在脚本开头添加Session_WITE_CLOSE()来改变这一点,以防止PHP将会话锁定到其他Ajax调用。我不是在编辑脚本中的$_Session变量,而是从它读取。
现在已经运行得很好了,但是还是没有让所有请求同时启动,而是分块进行,就像图像上看到的那样:https://i.stack.imgur.com/xCkub.png。
我应该怎么做才能让所有请求同时开始,并在没有与其他请求的任何链接的情况下实际执行?为了清晰起见,以下是我的js代码:
var promises = [];
listMenu.forEach(function(menu) {
var res = sendMenu(menu);//AJAX CALL
promises.push(res);
});
$.when.apply(null, promises).done(function() {
$('#ajaxSpinner').hide();
listMenu = null;
});
我的PHP脚本只是插入/更新了数据:
<?php
session_start();
session_write_close();
//execution
我想我肯定哪里做错了。提前感谢您宝贵的帮助!/p>