1

实际上我正在从数据库中获取数据集,但它正在消耗某个时间(> 1 分钟)。

所以我使用ajax异步运行来检查数据集是否返回结果,同时显示一个等待页面。

但是,有时,如果用户想要导航到其他页面而不是等待返回的结果,有没有人可以给我一个提示?

4

2 回答 2

0

我会首先尝试从数据库中优化您的查询。任何运行时间超过 1 分钟的查询要么非常庞大(您可以实现分页来规避它)......或者甚至需要对表上的索引进行一些优化。

如果这仍然不能产生足够快的响应时间,那么这里有两种方法可以解决您的问题:

  1. 每当用户想要点击这个长时间运行的查询时,在弹出窗口中运行它。这将允许用户在主 Web 应用程序中继续导航。

  2. 获取您的页面并开始在 iframe 中显示它们。然后,您可以在用户导航其他页面(正在加载到子框架中)时在父框架中发出请求。由于在这种情况下不会重新加载父框架,因此ajax请求可以在父框架中不间断地完成。

于 2013-02-08T07:12:05.657 回答
0

无论您在这种情况下使用什么脚本和代码都无济于事!更好地优化您的数据库模型。

  • 创建具有聚集索引的表。
  • 使用存储过程,
  • 如果太慢,请创建您自己的函数和视图。
  • 用户不会在一个页面上查看超过 10,000 条记录。取决于过程可以限制您的数据及其可选....但不是正确的方式!

一旦您发送了任何请求,您就无法在加载程序运行时停止它或导航。对于异步数据处理加载器(等待页面)不是必需的。

试试这个希望它会有所帮助....

于 2013-02-08T09:55:07.313 回答