页面当前执行的过程遵循以下顺序: - 用户单击一个按钮 - 服务器端代码从数据库检索数据,并使用,填充,比如隐藏字段将所述数据暴露给客户端。 - 客户端代码使用此数据启动一个ActiveX组件,该组件使用提供的数据执行一些任务。
这很好,但是,我们需要优化流程,因为ActiveX组件不适合处理大量数据。我们需要将数据发送到"块"到组件,而不是像今天一样发送所有数据。
但是,我在这里遇到了障碍,我怎样才能让页面多次从服务器到客户端代码来回转换?喜欢..."用户单击一个按钮,服务器检索第一个数据块,发送到客户端,客户端执行第一个块的ActiveX,客户端请求下一个块,服务器检索第二个块,发送到客户端,客户端执行ActiveX for第二个块,客户端请求第三个块...依此类推"?我无法通过第一个请求,因为我无法注册客户端脚本块2次并期望AJAX处理这些多个顺序回调...
或者有办法吗?
答案 0 :(得分:0)
这听起来更像是一个建筑问题。
你应该在这里做的是:
1)用户点击一个按钮。这不是常规提交按钮。只是一个执行一些本地JavaScript的普通旧按钮。
2)本地javascript发出AJAX请求以确定可用的记录数。
3)然后javascript根据可用记录的数量除以你想要每个块的数量来进行循环。
3.a)执行块的AJAX请求
3.b)将数据丢入你的ActiveX控件 - 顺便说一下,我真的建议你们考虑摆脱它们。 ActiveX存在很多问题,甚至都不好笑。
4)重复3.a和3.b直到完成。
你会注意到,在任何时候都没有完整的回复。您还会注意到,您不必注册任何客户端脚本块。
现在这里的回撤纯粹是在ActiveX控件中。可以在页面中多次从javascript实例化,还是只强制使用单个实例?
如果仅限于单个实例,那么您将完全需要一种不同的方法。