刷新前显示DIV

时间:2013-10-28 13:35:07

标签: php jquery css

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

不熟悉此加载时间的用户可能会觉得需要在几秒钟内反复单击相同的菜单选项,希望页面加载速度更快。但相反,它很可能会导致数据库服务器因请求而过载。

因此,为了解决这个问题,我希望使用jQuery来显示加载消息,然后让它从数据库加载数据(使用PHP脚本),最后将数据转储到页面上。

我已经做了类似的事情,但仅限于用户点击链接导致jQuery脚本在显示等待的DIV时加载数据(使用CSS规则)。

我无法弄清楚如何为自动刷新实现此解决方案。

一些帮助会很好。

2 个答案:

答案 0 :(得分:0)

您也可以使用与自动刷新相同的解决方案,并提到初始页面加载不会容纳需要数据库调用的数据,而是显示加载消息并启动对服务器的AJAX调用返回数据的副脚本。

您的网页加载:

  1. 请求
  2. 服务器查询数据库
  3. 数据库响应
  4. 页面加载(包含数据)
  5. 理想页面加载:

    1. 请求
    2. 页面加载(没有数据)< - 在此处加载消息
    3. AJAX致电
    4. 服务器查询数据库
    5. 数据库响应
    6. 页面更新(包含数据)

答案 1 :(得分:0)

我发表了第二篇megawac的评论。不要使用元刷新。此外,15-20秒是非常长的时间,用于生成将每4分钟生成一次的数据库报告;很可能是你在服务器上陷入困境。很少有查询真的需要这么长时间,尤其是需要几乎不断运行的查询。我强烈建议重构您的查询或进行一些缓存以加快速度。如果您发布一些代码,我相信人们会乐意看到它。