jQuery MiniUI

 找回密码
 立即注册
查看: 4313|回复: 7
打印 上一主题 下一主题

datagrid validate()校验时间太长导致页面无响应问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2019-8-13 17:31:58 |只看该作者 |倒序浏览
最近更新系统,客户反应有个 页面,在新增50条数据之后,点确定,半天没反应,需要等十几秒才弹出确定新增的窗口



客户说之前没录70条都没出现这样,而且最近这里的代码都基本没变动过,想问一下是什么原因,或者 有什么可以优化的
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2019-8-14 09:16:17 |只看该作者
把这个表格的代码提供一下,主要是验证相关的,我们看一下

Rank: 2

板凳
发表于 2019-8-14 09:55:29 |只看该作者
dforce 发表于 2019-8-14 09:16
把这个表格的代码提供一下,主要是验证相关的,我们看一下


源码在附件里面,包括js和html
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2019-8-14 10:45:29 |只看该作者
justditZhang 发表于 2019-8-14 09:55
源码在附件里面,包括js和html

你这里的验证都要跑ajax,这个开销我们是不可估计的。
建议不要通过ajax验证,或者减少ajax交互的次数。

Rank: 2

5#
发表于 2019-8-14 10:51:51 |只看该作者
dforce 发表于 2019-8-14 10:45
你这里的验证都要跑ajax,这个开销我们是不可估计的。
建议不要通过ajax验证,或者减少ajax交互的次数。 ...

但是客户反应之前没有这个问题呢,现在才 会出现这种问题

Rank: 8Rank: 8

6#
发表于 2019-8-14 11:20:23 |只看该作者
justditZhang 发表于 2019-8-14 10:51
但是客户反应之前没有这个问题呢,现在才 会出现这种问题

首先你这方式是错误的。
ajax的处理时间和实际的网络情况,后台处理时间都有关系。
你这里每一行两次ajax,总共行数*2次的ajax,每个ajax稍微慢一点你这页面就是卡死。
请重新处理验证

Rank: 2

7#
发表于 2019-8-14 12:23:59 |只看该作者
dforce 发表于 2019-8-14 11:20
首先你这方式是错误的。
ajax的处理时间和实际的网络情况,后台处理时间都有关系。
你这里每一行两次ajax ...

把 valueDatagrid1.on("cellvalidation", function (e) 换成
valueDatagrid1.on("cellendedit", function (e)  有影响么

Rank: 8Rank: 8

8#
发表于 2019-8-14 13:12:29 |只看该作者
justditZhang 发表于 2019-8-14 12:23
把 valueDatagrid1.on("cellvalidation", function (e) 换成
valueDatagrid1.on("cellendedit", functio ...

cellendedit事件是单元格编辑结束事件,每次编辑结束都会触发的。
具体使用看你的需求了                                                                                                                                                                                                                                                                                                                                                              

Archiver|普加软件

GMT+8, 2024-11-27 20:58 , Processed in 1.043387 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部