微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Ajax显示另一个Ajax请求调用的PHP脚本的进度

我对一个运行了相当长时间(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();
                        }
                    }
            });
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐