【问题标题】:Best way to pass a query result to another page将查询结果传递到另一个页面的最佳方式
【发布时间】:2025-12-16 22:15:02
【问题描述】:

快速提问:

我有一个对我的 SQL 服务器进行 AJAX 调用并接收 XML 响应的页面。我解析 XML 并在表格中显示相关数据。

我在页面上有一个按钮,用于在新页面上以简单的折线图显示表格数据。目前,我只是重新查询数据库并重新获取数据并为我的图表创建该数据的新数组对象。

GET 最多可能需要 2.5 秒,最终图形渲染时间约为 8-9 秒。我正在研究重新获取数据的任何替代方法。

到目前为止,我有:

  • 本地存储 (HTML5)
  • php 将数据传递给我,而不是查询数据库
  • jquery 插件 (DOMCache)

对此或最佳实践有什么想法?

感谢您的任何意见!

【问题讨论】:

  • 您正在使用本地存储。我想您希望数据可以长期重复使用,那么?我在想这里的日子。因为如果它是短暂的,使用本地存储会使用户的机器存储变得混乱。对于短暂的东西,我宁愿使用服务器端的用户会话。如果用户可能在不同的选项卡中显示了许多这样的表,并且在某个固定时间后数据消失了,则为键分配一个 GUID。
  • 您可以使用 javascript 构建和 json 对象,然后将对象字符串化并将其通过 POST 变量传递给您的服务器,然后在新页面中您可以渲染解码 javascript 对象并显示信息。

标签: javascript html arrays performance


【解决方案1】:

您最好确保响应缓存在用户的浏览器中。有多种方法可以实现这一点(取决于服务器运行的框架、客户端使用的浏览器等),但长话短说,依赖缓存可以让您不必急于提高性能通过修改你的代码库来实现。

IE8+ 实际上是这个领域的主力军(尽管我很不愿意承认)。它对 ajax 响应的积极缓存通常是一件很痛苦的事情,但在这种情况下,它对您的方案很有价值。

编辑 - 您提到了 SQL Server,所以我假设您正在通过 ASP.NET 中间层运行。如果是这种情况,here's an interesting article 将在服务器 使用 .NET 框架的客户端上缓存 ajax 请求。

【讨论】:

    最近更新 更多