easyui -datagrid-loadl两次请求?

在排查easyui-datagrid load问题时,发现它会向服务器发送两次相同请求。最初认为是load方法和setTimeout导致,但实际上是$.messager.alert的回调函数在关闭窗口时执行了两次,造成额外请求。解决办法是修改messager源码,仅在onBeforeClose事件中调用一次。这种方法虽不推荐,但在不影响其他模块的情况下,可以作为权宜之计。
摘要由CSDN通过智能技术生成
今天本来以为发现了一个easyui-datagrid load的bug,因为发 现load指定会向服务器发送两次请求,这两次请求一模一样<包括列表查询参数和分页参数等>,查看源码和网上言论说是load方法会
    调用setTimeout函数,总之就是一次指令load一次指令是setTimeout作祟,导致两次请求。。。。。。。。。大半天一直沿着这个思路在想问题;
    可是当真相出现的时候傻眼了,原因是调用
    $.messager.alert('提示','操作成功!','info',function(){
        $('#xxtable').datagrid('load');
    });
    alert方法的回调函数会在回调时候和onBeforeClose执行两次<alert confirm弹出框本质是通过window实现的 之前改过源码将其不可拖动 不然会影响样式,只需修改alert的window定义draggable:false 即可实现>!
   
    改源码:
    _22a[$.messager.defaults.ok] = function() {
        win.window("close");
        /*if (fn) {
            fn();
            return false;
        }*/
    };
    var win = _222(_228, _229, _22a);
    win.window({
        onBeforeClose :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值