easyui -datagrid-loadl两次请求?
2013-12-16 17:58
513 查看
今天本来以为发现了一个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 : function() {
if (fn) {
fn();
return true;
}
}
});
return win;
将其自身的调用注掉,只在onBeforeClose 调用一次即可;
总结:虽然不赞同改源码的方式,但是仔细研读发现此微小改动并不会影响其他模块功能,不至于像“蝴蝶效应”那样牵一发动全身,所以应该辩证的看待这个问题,有时候可以通过改源码解决的不影响其ta也是可以的!
调用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 : function() {
if (fn) {
fn();
return true;
}
}
});
return win;
将其自身的调用注掉,只在onBeforeClose 调用一次即可;
总结:虽然不赞同改源码的方式,但是仔细研读发现此微小改动并不会影响其他模块功能,不至于像“蝴蝶效应”那样牵一发动全身,所以应该辩证的看待这个问题,有时候可以通过改源码解决的不影响其ta也是可以的!
相关文章推荐
- easyui 1.4 datagrid 请求两次的原因
- EasyUI-datagrid中load,reload,loadData方法的区别
- 解决使用easyui的datagrid组件页面加载后发送两次请求的问题
- EasyUi DataGrid 请求Url两次问题
- easyui datagrid动态绑定url导致的2次请求后台
- easyui 1.4 datagrid 请求两次的原因
- jQuery EasyUI datagrid中的loadFilter和loadData用法
- easyui datagrid请求两次解决方法
- easyui datagrid load 方法键不能为变量的解决
- easyui中datagrid执行loadData方法没有刷新数据
- easyui datagrid loadFilter loadData
- easyui datagrid load 传值为变量
- easyui datagrid 发送两次请求
- 在easyUI中把form表单转换成json数据利用datagrid的load方法实现条件查询
- jquery easyui datagrid.load方法参数传递问题
- easyui使用datagrid load后获得返回数据
- easyui 1.4 datagrid 请求两次的原因
- jquery easyui datagrid.load方法参数传递问题 .
- 【解决方法】easyui中datagrid执行loadData方法出现异常
- EasyUI datagrid URL请求参数