我对一个运行了相当长时间(1到3分钟)的PHP脚本进行jQuery Ajax调用.它不断记录数据库中完成的百分比.如何连续运行另一个Ajax请求以报告从MySQL数据库到用户的完成百分比?
编辑
我理解如何使用单独的PHP脚本来查询数据库,所以我的问题是如何设置JavaScript和Ajax调用
解决方法:
在您的AJAX调用启动进程后,您可以在循环中进行另一个AJAX调用,该循环请求,返回并呈现当前完成的百分比,直到达到100%.基本上,一个AJAX调用启动进程,然后是一系列检查状态的调用.
更新:这是一些简单的JavaScript来实现你想要的:
<script>
function startProcess() {
//start your long-running process
$.ajax(
{
type: 'GET',
url: "/longRunningProcess",
async: true,
success:
function (data) {
//do something - your long process is finished
}
});
}
function getStatus() {
//check your progress
$.ajax(
{
type: 'GET',
url: "/checkProgress",
async: true,
success:
function (data) {
//assume the data returned in the percentage complete
var percentage = parseInt(data);
//write your status somewhere, like a jQuery progress bar?
if (percentage < 100) {
//if not complete, check again
getStatus();
}
}
});
}