如何在cakephp中创建进度条?
和其他相关问题是,
让我们说,对于一个循环,如何在每次迭代时将输出发送到浏览器.....在cakephp .... 我尝试使用setflash函数,但没有为我工作....
我尝试上述事情的主要目的是,我希望在我的功能执行时每隔几秒向浏览器发送一些输出,否则我会遇到问题......
...谢谢
答案 0 :(得分:7)
你真的不能这样做。返回的网页是静态的,您在发送时无法更改它。在纯PHP中,您可以在输出所有输出之前发送部分输出,因此您可以使用for($i=0;;) echo $i++;
之类的内容但不能在Cake中执行此操作,因为在将其插入到视图之前需要完全呈现视图布局。
进度条在(纯)HTML中是不可能的,因为如上所述,您无法修改已发送的HTML响应。
但是,您可以使用JavaScript:您可以使用JS返回HTML页面,该页面使用AJAX调用来查询操作的状态/百分比,然后分别在HTML中设置进度条。它可以执行后者(修改HTML),因为JS在页面检索后在客户端的浏览器中运行。
答案 1 :(得分:1)
你不能单独使用PHP(或CakePHP)。您可以使用AJAX 和 PHP(或CakePHP)来完成它,但要解释这将超出本论坛的范围。谷歌“AJAX PHP进展”并花时间学习如何做到这一点。