jqGrid处理http错误和服务器端错误
作者:ldzyz007 | 2011/10/26 16:11:10 | 阅读46次
我们知道,jqGrid从服务器端获取数据时,用的是ajax请求,如果请求过程中发生http错误(如后台服务器超时未响应、该url404)或者服务器端方法发生异常或错误,默认设置下的jqGrid是不会有任何提示信息的,并且也不会显示任何数据,连浏览器的javascript错都没有。
这对我们开发人员和用户都会造成疑惑,难以快速定位错误原因。
其实对jqGrid做一下设置即可让错误显示给前台。
1.HTTP错误
loadError事件就是专门处理这类错误的,我们可以这么写:
$("#list").jqGrid({url:'example.php',...loadError: function(xhr,status,error){alert(status + " loading data of " + $(this).attr("id") + " : " + error ); },...});
如果觉得每个grid都这么设置太麻烦,可以设置覆盖jqGrid的全局参数:
$.extend($.jgrid.defaults, {...loadError: function(xhr,status,error){alert(status + " loading data of " + $(this).attr("id") + " : " + error ); },...});
我们还可以统一设置ajax请求失败时,报错误信息,这样就不用改动jqGrid的设置了:
$(document).ajaxError(function(e,xhr,opt){alert(xhr.statusText + " requesting " + opt.url);});
2.服务器端错误
这种情况,需要在服务器端处理错误或异常信息,将其包装成json格式数据:
{"userdata":"xxxx"}
顺便贴一下正确时的数据:
{"total": "xxx","page": "yyy","records": "zzz","rows" : [{"id" :"1", "cell" :["cell11", "cell12", "cell13"]},{"id" :"2", "cell":["cell21", "cell22", "cell23"]},...]}
jqGrid需这样设置:
$("#list").jqGrid({url:'example.php',...loadComplete: function(){alert($(this).getGridParam('userData'));},...});
以上各个示例显示信息都是用的alert()方法,如果觉得对用户不够友好,可考虑借助其他的方式,比如实现一个浮动消息提示框。
分享到:
相关推荐
jqgrid实现分组显示和统计的功能,jqgrid实现分组显示和统计
jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...
jqgrid
jqGrid 学习 原理 2 jqGrid 学习之 皮肤 2 jqGrid 学习 2 jQuery 学习之:jqGrid 表格插件 参数配置 4 jqGrid 学习 自定义搜索 14 jqGrid 学习 搜索工具栏 16 jqGrid 学习 搜索 17 jqGrid 学习 自定义格式化类型 19 ...
jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。 对于jqGrid我们所关心的就是...
前端页面点击导出jqgrid表格为excel表格代码,有表格样式设置的代码,可以参考一下,这是我刚开始工作的时候写的,希望可以帮助像我一样的菜鸟。
jqgrid中文文档API,使用JQGRID
jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...
jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。 对于jqGrid我们所关心的就是...
项目中支持jqGrid所需的js和css
JqGrid插件+JqGridDemo+JqGrid主题,自己项目里引入的文件
直接从官方网站上下载得到的...2 如果遇到Toolbar上 search按钮 放大镜图标 出现布局错误 遮罩把所有内容都遮住了 此时可以尝试将demo文件夹中的 themes目录下的 ui jqgrid css 文件 替换为源码包中的版本 或者替换成 ...
jquery.jqgrid
jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。里面有我从网络上找的配置文档都是中文的,还有jquery库和jqGrid3.6库
JqGrid中文API文档,包含了基础的JqGrid控件的属性方法事件等,有如何使用JqGrid的Demo.
jqGrid demo
jqGrid5.5 学习
jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0
jQgrid+demo
jqGrid_API中文