`
a498740995
  • 浏览: 33813 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

jqGrid处理http错误和服务器端错误

 
阅读更多

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实现分组显示和统计的功能,jqgrid实现分组显示和统计

    jqGrid4.6.0 jqgrid_demo40

    jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...

    jqgrid序列

    jqgrid

    jqGrid手册教程一本通

    jqGrid 学习 原理 2 jqGrid 学习之 皮肤 2 jqGrid 学习 2 jQuery 学习之:jqGrid 表格插件 参数配置 4 jqGrid 学习 自定义搜索 14 jqGrid 学习 搜索工具栏 16 jqGrid 学习 搜索 17 jqGrid 学习 自定义格式化类型 19 ...

    jqGrid3.6中文文档

    jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。 对于jqGrid我们所关心的就是...

    java导出jqgrid表格数据为excel

    前端页面点击导出jqgrid表格为excel表格代码,有表格样式设置的代码,可以参考一下,这是我刚开始工作的时候写的,希望可以帮助像我一样的菜鸟。

    jqgrid中文文档API

    jqgrid中文文档API,使用JQGRID

    jqGrid4.8.2 jqgrid_demo40

    jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...

    jqGrid 各种参数详解

    jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。 对于jqGrid我们所关心的就是...

    jqGrid所需js和css

    项目中支持jqGrid所需的js和css

    JqGrid插件+JqGridDemo+JqGrid主题

    JqGrid插件+JqGridDemo+JqGrid主题,自己项目里引入的文件

    jQgrid+demo

    直接从官方网站上下载得到的...2 如果遇到Toolbar上 search按钮 放大镜图标 出现布局错误 遮罩把所有内容都遮住了 此时可以尝试将demo文件夹中的 themes目录下的 ui jqgrid css 文件 替换为源码包中的版本 或者替换成 ...

    jquery.jqgrid最新版

    jquery.jqgrid

    jqGrid3.6.rar

    jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。里面有我从网络上找的配置文档都是中文的,还有jquery库和jqGrid3.6库

    JqGrid中文API文档

    JqGrid中文API文档,包含了基础的JqGrid控件的属性方法事件等,有如何使用JqGrid的Demo.

    jqGridDemo

    jqGrid demo

    jqGrid5.5 版本

    jqGrid5.5 学习

    jqgrid4.0包

    jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0jqgrid4.0

    jQgrid demo

    jQgrid+demo

    jqGrid_API中文

    jqGrid_API中文

Global site tag (gtag.js) - Google Analytics