如何使用Jquery逐步获取PHP数据?

Fao*_*ech 0 javascript php jquery multi-step

我用php组合的jquery有点问题.让我从代码开始.

PHP代码:

if ($_POST["request"]==10)
    progress();

function progress()
{
    $files = getfiles();
    $progress = 0;
    $progressRate = 100/$files->number;
    for ($i=0;$i<$files->number;$i++)
    {
        sendfile($files->location[$i]);
        $progress+=$progressRate;
        echo $progress;
    }
}
Run Code Online (Sandbox Code Playgroud)

代码输出: 例如files-> number = 2,则输出为50 100.

Jquery代码:

jQuery.post("functions.php",{request:10},function(data){

            alert(data);


   });
Run Code Online (Sandbox Code Playgroud)

问题:我想要的是首先警告50,然后警告100,我的意思是当第一个循环在php结束并回声第一个进度值时,然后jquery应该能够拦截它,但是jquery在整个循环之后警告数据完成,这意味着我在一个警报中获得50100,jQuery有什么方法可以处理这个?我知道有其他解决方案使用PHP并生成例如隐藏div或属性中的循环数,然后在jQuery中使用循环,但我真的想直接这样做.

Mat*_*att 5

这不是AJAX的工作方式.它会发出单个请求并对响应做"某事",就像浏览器导航到URL时一样.

PHP脚本将在服务器端执行,将结果打印到"屏幕"并作为响应发送回来.

如果要返回多个变量,则应将它们作为JSON数据返回,并在javascript中解析JSON字符串.