php - 向用户显示脚本正在加载

标签 php html mysql highcharts

我有一个问题不知道如何解决。基本上,我有一个MySQL数据库,其中包含相当多的信息。 然后我有几个 PHP 站点,它们从数据库检索数据,然后进行一些分析和计算,然后使用表格和 highcharts 图表输出它。 现在一切正常,但有一个小问题。问题是,当有人想进入该网站时,浏览器状态栏中会显示“正在等待......”,并且页面会在大约10-15秒后显示。问题显然在于该站点首先联系 MySQL 数据库,实际上为了进行所有各种计算,对数据库等进行了许多调用。因此计算工作正常,我唯一需要的就是以某种方式告诉用户在加载页面时“确实发生了一些事情”。 PHP 站点的结构看起来顶部是 php 代码,它计算所有变量,后面是实际的 HTML,在某些地方有变量回显。 我尝试添加类似的内容:

echo "Loading";
flush();

我把它放在最顶部,但我得到的只是相同的“没有发生”间隔,随后整个页面显示,只是我在顶部有“正在加载”文本,这显然不是我想要的想要的,因为它与页面的其余部分同时显示。

我真的很感激任何解决这个问题的想法。我尝试将 HTML 正文标记放在最顶部的 PHP 前面,但这也没有帮助,而且我显然无法将脚本放在最后,因为在显示变量之前必须先计算变量。

最佳答案

您可以先显示页面,然后对站点已加载的数据发出 Ajax 请求。通过这种方式,您将能够告诉用户您在后台执行操作并在加载后显示数据。

您可以像这样发出 Ajax 请求 http://api.jquery.com/jquery.ajax/ .

关于php - 向用户显示脚本正在加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467890/

相关文章:

php - 如何添加php环境变量?

javascript - 文本在我的 Canvas 上被垂直拉伸(stretch),使其不可读

MySql 在 Ubuntu 服务器上崩溃 'reading authorization packet'

php - 将输入文本值转换为十进制数

php - 如何获取 gulp 构建版本以使用 PHP 自动刷新 css 缓存

html - 为什么我不能更改 html 帖子文本输入的大小?

jquery - 将 Jquery 与 HTML 链接

mysql - 将 # 个结果合并在一起

sql - MySQL 中是否有一个函数可以压缩查询返回的结果?

php - 如何将一个 JavaScript 对象复制到另一个对象中?