繁体   English   中英

PHP在while循环中打印字符串

[英]PHP print string in while loop

我在文件do.php有一个函数,如下所示:

<?php
    if(isset($POST['submit']))
    {
        for($i=0;$i=10;$i++)
        {   
            $reponse = array(
                'content' = > "This is an example - process #" . $i;
            );
            echo json_encode($response);
            sleep(1); // sleep one second each loop
        }
    }
?>

我有一些简短的JQUERY代码使用ajax发布数据...

<button onclick="post()">Submit</button>
function post()
{
    $.ajax({
        type: "POST",
        url: "do.php",
        data: data,
        success: function (data){
            var json = jQuery.parseJSON(data);
            $('#result').html(json.content);
        }
    });
}

这是输出...

This is an example - process #1
This is an example - process #2
This is an example - process #3
....

当我单击Submit按钮时,我可以看到一个关于Firebug运行10秒的请求以完成并显示结果。 现在,我希望每个结果在while循环中逐行显示。 我可以构建一个websocket系统,但是这个系统占用了我很多时间,对于大型系统来说,如果可能的话,我只需要一种简单的方法即可。

我仍然尝试将输出保存到txt文件中,并使用JQUERY每500毫秒读取一次,但是这种方式占用了过多的请求,因此效果不佳。

您想达到什么目的? 据我了解,您尝试在SERVER端执行多个进程,并且希望从CLIENT端查询其状态(哪个进程仍在运行/完成...)
如果是这样,则IMO您可以执行这些进程(使用fork()或其他方法),并让父进程向您的AJAX请求返回每个进程的唯一令牌标识符的列表。
现在,每500毫秒使用setInterval() ,查询您收到的令牌的。

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM