PHP:将信息传递给 JavaScript


PHP: Passing info to JavaScript

说,我的PHP脚本需要一些时间来计算其操作。我需要让客户了解操作进度。一个例子是基于PHP的文件下载,我需要向客户提供完成下载所需的估计时间,以及需要复制的数据量。

在PHP中,我可以计算所有需要的信息。但是,如何使用此信息定期更新客户端?

理想情况下,我想从我的PHP脚本中动态更新JavaScript变量。我读到这是不可能的,那么我有什么选择呢?

我想到的可能性:

  • 我应该从我的JavaScript中定期对PHP脚本进行AJAX调用以获取进度信息吗?
  • 应该为我学习未知的COMET方法吗

以上两种可能性有意义吗?还有其他更实用的解决方案吗?

提前谢谢你。

是的,这两个选项都是有意义的。

有许多不同的COMET风格的技术,但最简单的一种是长期运行的iframe。您有一个 PHP 页面,用于监视操作的进度,并定期输出如下内容:

<script>parent.updateProgress(relevantUpdateInfo);</script>

。其中relevantUpdateInfo是有关进度的信息,updateProgress是页面上的全局函数,其中包含在 UI 中显示更新信息的iframe

输出script标签时,请务必flush输出。