2013-10-28 75 views
0

我有一个网页每隔240秒自动刷新一次HTML Meta标记。在刷新过程中,它会从数据库中提取数据,在向用户显示之前,该数据库需要大约15到20秒才能构建数据库。在此期间,我希望显示一个带有加载消息的小DIV,告诉用户它正在加载数据。 更复杂的是,用户有几个菜单选项来过滤掉数据库中的特定数据。当点击这样一个选项时,页面会重新加载并需要15到20秒才能建立。刷新之前显示DIV

用户是不熟悉此加载时间可能会觉得有必要一遍一遍点击几秒钟希望该网页将更快地加载在同一个菜单选项。但相反,它很可能会导致数据库服务器过载请求。

因此,要解决这个我想使用jQuery显示加载信息,然后把它加载从数据库中的数据(使用PHP脚本),最后转储数据在页面上。

我做过类似的东西但仅限于用户点击这引起了jQuery脚本加载数据同时显示(使用CSS规则)等待DIV的链接。

我无法弄清楚如何实施这个解决方案的自动刷新。

有些帮助会很好。

+1

也许分享你迄今为止? – tinybyte

+1

不要进行全面刷新,只更新可能通过ajax更改的页面片段。它将允许网站在请求完成时继续工作 – megawac

回答

0

您可以使用相同的解决方案自动刷新功能,以及与初始页面加载不容器需要调用数据库中的数据,而是显示一个加载信息,并启动一个AJAX调用一个提服务器端脚本返回数据。

你的页面加载:

  1. 请求
  2. Server查询DB
  3. DB响应
  4. 页面负载(数据)

理想的页面加载:

  1. 请求
  2. 页面加载(无数据)< - 在这里加载消息
  3. AJAX调用
  4. Server查询DB
  5. DB响应
  6. 页面更新(数据)
0

我想说第二个megawac的评论。不要使用元刷新。另外,15-20秒是用于生成将每4分钟产生的数据库报告的非常长的时间;可能性是你很糟糕地陷入你的服务器。很少有查询真的需要这么长时间,特别是需要几乎连续运行的查询。我会强烈建议重构您的查询或做一些缓存来加快速度。如果你发布了一些代码,我相信人们会很高兴看到它。

相关问题