PHP:将信息传递给JavaScript

时间:2013-10-27 08:55:44

标签: javascript php ajax comet dhtml

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

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

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

我想到的可能性:

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

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

提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

输出script代码时,请务必flush输出。

相关问题