0

好的,这个tite似乎有点混乱,所以我会尝试更彻底地解释......

页面当前执行的过程遵循以下顺序: - 用户单击按钮 - 服务器端代码从数据库中检索数据并将所述数据公开给客户端,使用填充,比方说隐藏字段。- 客户端代码使用这些数据来启动一个 ActiveX 组件,该组件使用提供的数据执行一些任务。

这很好用,但是,我们需要优化流程,因为 ActiveX 组件不适合处理大量数据。我们需要将数据发送到组件的“块”中,而不是像今天那样一次发送所有数据。

但是,我在这里遇到了一个障碍,我怎样才能让页面从服务器到客户端代码来回多次?就像...“用户单击一个按钮,服务器检索第一个数据块,发送到客户端,客户端为第一个块执行 ActiveX,客户端请求下一个块,服务器检索第二个块,发送给客户端,客户端为第二个块执行 ActiveX ,客户请求第三块......等等”?我无法通过第一个请求,因为我无法注册客户端脚本块 2 次并期望 AJAX 处理那些多个顺序回调......

或者有什么办法吗?

4

1 回答 1

0

这听起来更像是一个架构问题而不是其他任何事情。

应该在这里做的是:

1) 用户点击一个按钮。这不是常规的提交按钮。只是一个执行一些本地 javascript 的普通旧按钮。

2) 本地 javascript 发出 AJAX 请求以确定有多少记录可用。

3) 然后,该 javascript 会根据可用记录的数量除以您想要提取的每个块的数量进行循环。

3.a) 对块执行 AJAX 请求

3.b) 将数据放入您的 ActiveX 控件中——顺便说一句,我真的建议你们考虑摆脱它。ActiveX 有很多问题,甚至都不好笑。

4) 重复 3.a 和 3.b 直到完成。

您会注意到,在任何时候都没有执行完整的回发。您还会注意到,您不必注册任何客户端脚本块。

现在这里的缺点纯粹是在 ActiveX 控件中。它可以在一个页面中多次从 javascript 实例化,还是您被迫只使用一个实例?

如果它仅限于单个实例,那么您将需要完全不同的方法。

于 2013-07-17T21:37:40.830 回答