检查进度的PHP ajax远程调用

检查进度的PHP ajax远程调用,php,jquery,ajax,Php,Jquery,Ajax,我有一个调用php文件的函数,该文件返回完成任务的百分比 有谁能告诉我需要在PHP文件中输入什么样的数据才能将百分比传递给ajax调用,以及如何在页面上显示百分比?e、 像jQuery进度条吗 谢谢 function getStatus() { //check your progress $.ajax( { type: 'GET', url: "checkProgress.php",

我有一个调用php文件的函数,该文件返回完成任务的百分比

有谁能告诉我需要在PHP文件中输入什么样的数据才能将百分比传递给ajax调用,以及如何在页面上显示百分比?e、 像jQuery进度条吗

谢谢

function getStatus() {
    //check your progress
    $.ajax(
            {
                type: 'GET',
                url: "checkProgress.php",
                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();
                        }
                    }
            });
}  

每次在PHP文件中收到请求时,您都必须处理包括$\u请求、$\u GET&$\u POST的请求

如果您正在处理数据,但您只是为了获得响应,您可以使用以下方法:

我不知道后端是如何排序的,也不知道您是如何检查进度的,但您可以这样做:

#checkProgress.php
<?php
    return //your progress logic
?>

您能否解释一下您在服务器上执行的任务,以便我们能够帮助您。顺便说一句,我认为您的方法在这一点上很好。通过JSON或明文在PHP中传递值。不要紧。我个人会用json传递它,这样我可以扩展对进度的描述。DARK_DUCK,基本上php文件将生成大量pdf文件并存储在服务器上。但是pdf的数量可能有数百个,当文件执行这些操作时,它将存储一个临时文件,以知道它在哪个文件号上,并计算其百分比。它不应该是echo而不是return吗?不要这样认为-如果你echo,它只会构建页面,而return会返回对象。如果您试图解析一个整数值,我认为回显是不行的。可能是错的!!那么,在我的php脚本中,我是否只返回10%作为10%?是的-保持简单&处理JSF中的百分比格式我如何在主页上显示百分比的值?就在var百分比之下,我把回报百分比放在;但这不起作用
$.ajax(
            {
                type: 'GET',
                url: "checkProgress.php",
                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();
                        }
                    }
            });