form.submit() 耗时太长
form.submit() takes too long
我有一个提交表单的经典 ASP 应用程序。问题是当我尝试提交表单时(它是一个很大的表单,有很多值),提交它需要大约 25 秒。
知道有哪些最佳做法可以缩短提交时间或为什么提交时间太长吗?
由于您没有提供代码示例或其他具体信息,您有很多选择,例如重构服务器和客户端脚本:
Client:您可以使用 JavaScript 序列化您的表单数据并以响应方式发送它,而不是传统的提交表单,因此您的用户会注意到传输并耐心等待它完成。这样,您可以显示 activity 指示器或设置超时。此外,您可以过滤不必提交的数据(submit()
不会那样做)。您也可以将要上传的数据拆分成一些请求,以减少每个请求的时间。
服务器:这看起来不像是 ASP 特有的问题,而您的服务器端可能是瓶颈。如果您的服务器脚本具有复杂的处理例程或必须执行耗时的操作,您可能会考虑开始优化,例如仅根据请求保存数据并安排服务器端处理。服务器方面,甚至可能是你的网络拓扑有问题,光靠程序员是解决不了的。
同样,您提供的信息不够具体。对于表单提交,25 秒是永恒的。您传输什么类型的数据(纯文本、二进制)?什么是“大表多值”?您不能分别共享部分客户端和服务器代码吗?你测量过时间(解决、提交、处理等)吗?
我有一个提交表单的经典 ASP 应用程序。问题是当我尝试提交表单时(它是一个很大的表单,有很多值),提交它需要大约 25 秒。
知道有哪些最佳做法可以缩短提交时间或为什么提交时间太长吗?
由于您没有提供代码示例或其他具体信息,您有很多选择,例如重构服务器和客户端脚本:
Client:您可以使用 JavaScript 序列化您的表单数据并以响应方式发送它,而不是传统的提交表单,因此您的用户会注意到传输并耐心等待它完成。这样,您可以显示 activity 指示器或设置超时。此外,您可以过滤不必提交的数据(submit()
不会那样做)。您也可以将要上传的数据拆分成一些请求,以减少每个请求的时间。
服务器:这看起来不像是 ASP 特有的问题,而您的服务器端可能是瓶颈。如果您的服务器脚本具有复杂的处理例程或必须执行耗时的操作,您可能会考虑开始优化,例如仅根据请求保存数据并安排服务器端处理。服务器方面,甚至可能是你的网络拓扑有问题,光靠程序员是解决不了的。
同样,您提供的信息不够具体。对于表单提交,25 秒是永恒的。您传输什么类型的数据(纯文本、二进制)?什么是“大表多值”?您不能分别共享部分客户端和服务器代码吗?你测量过时间(解决、提交、处理等)吗?