刷新前显示 DIV


Show DIV before refresh

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

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

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

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

我不知道如何实现此解决方案以进行自动刷新。

一些帮助会很好。

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

您的网页加载:

  1. 请求
  2. 服务器查询数据库
  3. 数据库响应
  4. 页面加载(带数据)

理想的页面加载:

  1. 请求
  2. 页面加载(无数据) <- 在此处加载消息
  3. 阿贾克斯调用
  4. 服务器查询数据库
  5. 数据库响应
  6. 页面更新(含数据)

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