【问题标题】:PHP + JQuery/AJAX - Loader with PercentagePHP + JQuery/AJAX - 百分比加载器
【发布时间】:2012-03-05 09:46:46
【问题描述】:

我有一个前端应用程序,我在其中调用一个 PHP 脚本(我们称之为 script.php),这需要一些时间才能完成。我想(在客户端)显示完成的百分比。

在文件 script.php 上,我可以随时计算完成的工作百分比。我搜索了一下,可能的解决方案应该是:

  • 在客户端调用script.php文件
  • 使用另一个 php 脚本启动轮询操作以从 script.php 中获取百分比
  • 在客户端显示此百分比。

我的问题是我如何在脚本和其他 php 文件之间获取和“共享”这个百分比值以显示在客户端。

我有哪些使用 JQuery/AJAX 的选项(我试图避免使用缓存的解决方案)。

谢谢

【问题讨论】:

  • 更好的选择是使用 js/ajax/jquery 来触发长脚本调用并将按钮替换为“加载”图像或通知并在收到响应后执行某些操作,否则您需要在尝试从新进程获得响应之前分叉出新进程,因为 php 在大多数设置中都是单步执行

标签: php jquery ajax


【解决方案1】:

您在客户端所需要的只是一个 javascript 函数,该函数会定期调用您的 progress.php 脚本或其他任何被调用的脚本,并获取最新的完成百分比。然后您可以使用该值更新 DOM。

看看这个帖子

jQuery AJAX polling for JSON response, handling based on AJAX result or JSON content

【讨论】:

  • 这就是我想要的。谢谢。
  • 我只有一个问题。使用 AJAX,我调用了一个轮询脚本 (progress.php),该脚本负责从 script.php 中获取最新完成的百分比。我将这个值存储在 SESSION 中。问题是progress.php 等待script.php 结束,然后才返回。我必须做某种多线程吗?
  • 他们过去只在一台服务器上为此推荐 APC,但我认为已经出现了其他东西,可以同时处理多个用户的多个上传。我不确定是否是这样,但它应该让你朝着正确的方向前进。 ultramegatech.com/2010/10/…
猜你喜欢
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多