首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax -在后台运行PHP脚本进行通信?

Ajax -在后台运行PHP脚本进行通信?
EN

Stack Overflow用户
提问于 2012-07-30 10:38:24
回答 4查看 1.1K关注 0票数 4

我怀疑这个问题看起来太..。很傻,但我正努力想出一个好的解决方案,但我有点被困住了。

所以,我的情况是: :

  • 我使用Ajax来执行一系列任务。实际上,我在排队(或者有时是平行的,对我来说并不重要)一个或更多的请求。
  • 以百分比显示进度(执行的X项任务中有1项)
  • 完成后,显示最终结果。

我想做的是:

  • 与其让3-4个不同的任务运行(= 3-4个通过Ajax异步调用的PHP脚本),我希望只有1 (= 1脚本)-换句话说,将X脚本组合成一个。(这很简单)

我面临的问题:

  • 我怎样才能报告完成百分比(X任务中的1项)?

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-30 10:41:06

如果通过原始ajax将请求放到数据库中,然后启动脚本,则仍然有时间(假设请求需要一些时间来完成),以便将后续任务拖到相同的数据库中,由仍在运行的脚本来获取。

至于报告,也许可以运行一个快速的jquery来查看队列中有多少项?或者,让task.php文件更新数据库(甚至可能是另一个表),以说明它已经完成了多少作业,以及目前仍有多少作业处于队列中。

票数 1
EN

Stack Overflow用户

发布于 2012-07-30 10:58:10

每次任务完成时,我都会更新Memcached中的一个键。然后让ajax调用从memcached键中获取值。

http://php.net/manual/en/book.memcached.php

票数 3
EN

Stack Overflow用户

发布于 2012-07-31 15:17:41

如果不需要向PHP脚本发送大量数据,则可以使用"长民意测验“方法。在这种情况下,不使用AJAX,而是插入如下脚本标记:

代码语言:javascript
复制
<script src="my_php_script?task1=x&param_t1_1=42&task2=y"></script>

然后,PHP文件可以发送一个JavaScript命令,如下所示

代码语言:javascript
复制
updatePercent(12);

在每项任务完成之后。当命令出现时,浏览器应该执行它们。一定要在每一项任务后调用flush

了解彗星可能会给您提供关于如何处理客户机-服务器连接的其他想法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11719791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档