Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
进度条:使用PHP添加Javascript,还是使用Ajax检查PHP进程?_Javascript_Php_Ajax_Progress Bar_Sox - Fatal编程技术网

进度条:使用PHP添加Javascript,还是使用Ajax检查PHP进程?

进度条:使用PHP添加Javascript,还是使用Ajax检查PHP进程?,javascript,php,ajax,progress-bar,sox,Javascript,Php,Ajax,Progress Bar,Sox,我正在使用SoX和PHP exec()函数编写一个web应用程序 问题是,SoX有点慢,有时需要一分钟以上才能完成任务 我试图编写一个进度条,让用户知道网页没有崩溃,SoX仍然在做它的工作 到目前为止,我有一个使用exec命令和回调的php页面。对于每个回调,我将添加javascript代码并调用flush()来更新进度条。 因此,PHP正在更新进度条,这意味着在使用SoX完成PHP之前,页面还没有准备好 这是最好的方法吗?我见过一些人使用Ajax、循环和计时器从PHP手动获取数据并更新进度条。

我正在使用SoX和PHP exec()函数编写一个web应用程序

问题是,SoX有点慢,有时需要一分钟以上才能完成任务

我试图编写一个进度条,让用户知道网页没有崩溃,SoX仍然在做它的工作

到目前为止,我有一个使用exec命令和回调的php页面。对于每个回调,我将添加javascript代码并调用flush()来更新进度条。 因此,PHP正在更新进度条,这意味着在使用SoX完成PHP之前,页面还没有准备好

这是最好的方法吗?我见过一些人使用Ajax、循环和计时器从PHP手动获取数据并更新进度条。这更合适吗

谢谢

[编辑] 因此,在一些评论之后,这里是另一个问题:
如果我启动一个php脚本,即使我使用Ajax访问另一个页面,脚本还会继续运行吗?

我建议使用Ajax方法并为您的任务提供php端点。然后可以使用xhr调用的状态向用户提供反馈。我搜索了PHP端点,但不确定它的用途。这是ajax调用的url。文件中的php代码正在从客户端读取信息,对其进行处理并做出响应。哦,我现在明白了!但这意味着我必须在另一个线程中运行SoX php脚本,对吗?