我同时运行两个AJAX请求时遇到问题。我有一个PHP脚本正在将数据导出到XSLX。此操作需要很多时间,因此我尝试向用户显示进度。我正在使用AJAX和数据库方法。实际上,我非常确定它曾经可以工作,但是我不知道为什么,它不再在任何浏览器中都能工作。新浏览器有什么变化吗?
$(document).ready(function() {
$("#progressbar").progressbar();
$.ajax({
type: "POST",
url: "{$BASE_URL}/export/project/ajaxExport",
data: "type={$type}&progressUid={$progressUid}" // unique ID I'm using to track progress from database
}).done(function(data) {
$("#progressbar-box").hide();
clearInterval(progressInterval);
});
progressInterval = setInterval(function() {
$.ajax({
type: "POST",
url: "{$BASE_URL}/ajax/progressShow",
data: "statusId={$progressUid}" // the same uinque ID
}).done(function(data) {
data = jQuery.parseJSON(data);
$("#progressbar").progressbar({ value: parseInt(data.progress) });
if (data.title) { $("#progressbar-title").text(data.title); }
});
}, 500);
});
那么,为什么第二个AJAX调用等待第一个完成呢?
听起来像是会话阻止问题
默认情况下,PHP将其会话数据写入文件。当您使用session_start()启动会话时,它将打开文件进行写入并锁定该文件以防止并发编辑。这意味着对于每个使用会话通过PHP脚本的请求,都必须等待该文件完成第一个会话。
解决此问题的方法是将PHP会话更改为不使用文件或关闭会话写,如下所示:
<?php
session_start(); // starting the session
$_SESSION['foo'] = 'bar'; // Write data to the session if you want to
session_write_close(); // close the session file and release the lock
echo $_SESSION['foo']; // You can still read from the session.
null
问题内容: 当我使用JQuery一起发送两个ajax请求时,响应一起出现 例如 ajax.php,ajax2.php是两个文件,其中包含一个虚拟的for循环大约需要5秒钟。 萤火虫萤幕 POST本地主机/ajax.php 200 OK 4.77s POST本地主机/ajax.php 200 OK 4.37s 在这里,每个请求大约需要5秒钟才能执行… 当我在symfony做相同的例子时,我得到了不同
我的应用程序在两个jboss版本jboss 4和jboss 7之间扩展。Jboss 4 intance正在通过eclipse运行。当我尝试通过[Jboss_HOME]/bin/standalone.bat运行Jboss 7时,它不会启动,并显示以下错误。 调用"C:\jboss as-7.1.1。最终\bin\standalone.conf.bat"警告JBOSS_HOME可能指向不同的安装-可能
问题内容: 我必须使用两个版本的Java(1.6.21和1.7)。我公司的代码取决于1.6_21,我们计划使用人工制品。我们正在本地测试工件,但是工件需要Java 1.7或更高版本。我希望我的默认Java主目录指向1.6_21,对于工件应为1.7。 但是问题出在我安装Java 7以后,它就将自身设置为默认值。我读过很多文章,它们解释了如何管理Java的两个版本,但是我的工件和Eclipse必须同时
问题内容: 我过去曾经做过一些jQuery,但是我完全坚持了这一点。我了解使用同步ajax调用的优缺点,但是在这里将是必需的。 远程页面已加载(由firebug控制),但未显示任何返回信息。 我应该采取什么措施才能使函数正确返回? 问题答案: 在发出同步请求时,应该 范例-http://api.jquery.com/jQuery.ajax/#example-3 请注意: 设置异步属性设置为fals
我有一个情况,我需要启动两个线程一个接一个。我尝试了以下代码片段,在这里我可以启动Thread12,但不能启动Thread2。我怎样才能开始两个......?如何启动两个线程一个接一个...? 代码片段