`
conanca
  • 浏览: 99748 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

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

 
阅读更多

我们知道,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":"查询时发生异常!"
}

 顺便贴一下正确时的数据:

{ 
  "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的asp.net例子

    在这个场景下,我们将使用ASP.NET的Web Forms或MVC模式来创建服务器端代码,处理数据请求和响应。 1. **安装jqGrid** 在ASP.NET项目中使用jqGrid,首先需要将其添加到页面的HTML中。可以通过下载jqGrid的开源版本...

    C#封装的JqGrid插件

    6. 定义事件处理:在JqGrid中,可以通过定义各种事件来实现更复杂的功能,例如在用户编辑数据后触发服务器端的验证和保存操作。 7. 错误处理:确保在C#代码中进行适当的错误处理,以便在出现异常时能够向用户反馈。...

    jqGrid详解及高级应用

    6. 服务器端排序:支持服务器端排序,减轻前端处理压力,提升用户体验。 7. 支持链接、图片和复选框:在表格中可以嵌入链接、图片以及复选框等多种元素,增强表格的表现力。 8. 主从网格显示:可以在单个页面上展示...

    jquery表格插件jqgrid

    1. **行选择**:jqGrid支持单选和多选,可结合操作按钮实现数据的选定和处理。 2. **工具栏**:可以添加自定义工具栏,提供搜索、导出等额外功能。 3. **分组和汇总**:对于统计类需求,jqGrid支持数据分组和计算...

    jqgrid全套示例代码

    - 集成服务器端数据处理,如使用ASP.NET的数据访问层与jqGrid交互。 - 自定义jqGrid的样式和行为,实现个性化设计。 - 掌握jqGrid的事件处理机制,实现复杂的用户交互。 - 学习jqGrid的API,包括方法调用和参数设置...

    jqgrid celledit

    对于服务器端提交,你需要定义一个处理这些请求的后端脚本,如 PHP 或 JSP。 4. **验证**:可以通过 `beforeSubmitCell` 回调函数来执行客户端验证,确保输入的数据符合特定的格式或规则。 5. **自定义编辑器**:...

    利用jqGrid实现类似Excel录入功能

    通常,这会涉及到AJAX请求,使用`url`参数指定服务器端接口,并通过`postData`传递编辑后的数据。 jqGrid还提供了撤销和重做功能,可以通过`cellEdit`选项启用单元格级别的编辑,并结合`beforeSaveCell`和`...

    jqgrid实例保存

    总结,"jqgrid实例保存"涉及到使用jqGrid创建表格,设置编辑模式,处理数据保存的AJAX请求,以及在服务器端执行CRUD操作。通过理解并实践这些知识点,开发者能够创建具有数据管理功能的交互式表格。在JqDemo项目中,...

    jquery.jqGrid-4.5.4

    - **错误处理**:适当地捕获和处理可能出现的错误,提供友好的用户提示。 - **安全考虑**:在涉及用户数据时,确保符合安全规范,防止XSS、CSRF等攻击。 jqGrid作为一款强大的表格插件,不仅提供了丰富的功能,还...

    PHP+jqGrid表格插件实现增删改查

    查:jqGrid默认支持服务器端分页,每次请求都会包含当前页的参数,PHP脚本据此生成SQL查询语句,获取指定页的数据并返回。 为了提高安全性,还需要在PHP端进行输入验证和过滤,防止SQL注入等攻击。同时,考虑到用户...

    最新JQGrid4+ API

    3. **分页**:`pager`配合`rowNum`实现分页,`loadonce`属性可以实现服务器端分页和客户端分页。 4. **表头菜单**:`caption`定义表格标题,`thead`支持自定义表头,`sortable:true`允许列排序,`resizeable:true`...

    jqGrid使用XML數據源例子

    提到的例子使用的是jqGrid的4.3版本,该版本引入了许多增强和优化,包括性能提升、新的API方法、错误修复以及对触摸设备的支持。不过,值得注意的是,jqGrid的开发后来转移到了Free jqGrid项目,目前最新的版本提供...

    ASP.NET中使用JqGrid完整实现.docx

    可以通过配置JqGrid的参数来启用这些功能,并在服务器端编写相应的处理逻辑。 7. **自定义和扩展**:JqGrid提供了丰富的选项和事件,允许你自定义外观和行为,比如添加搜索、过滤、编辑模式等。你还可以通过插件或...

    jqGrid(版本:5.1.0)

    - **事件处理**:jqGrid提供了许多内置事件,如`loadComplete`、`beforeEditCell`等,可用于监听和处理用户操作。 - **自定义行为**:你可以通过扩展jqGrid的函数来实现特定的功能,比如自定义编辑对话框、添加验证...

    jqGrid-4.1.2

    - 数据加载:支持从服务器端动态加载数据,可以设置分页、排序和过滤条件。 - 编辑功能:提供行内编辑、弹出式编辑和批量编辑模式,支持增删改查操作。 - 自定义列:可以自定义列的宽度、标题、对齐方式、显示...

    grid.locale-zh_CN.js和jqgrid_3.6.5_API

    在处理数据时,jqGrid支持JSON、XML等多种数据格式,可以方便地与服务器端的数据接口进行交互。通过`loadError`、`loadComplete`等事件,开发者可以对数据加载过程进行监控和自定义处理。 不仅如此,jqGrid还提供了...

    jqgrid 3.8

    6. 自定义操作:开发者可以定义自己的操作按钮,如“添加”、“删除”、“保存”等,实现与服务器端的交互。 在压缩包中,有以下几个关键文件夹: 1. `css`:这个文件夹包含了jqGrid的样式文件,如`ui.jqgrid.css`...

    jqGrid_各种参数_详解

    jqGrid 是一个基于 jQuery 的表格控件,以 Ajax 方式与服务器端通信。它提供了强大的数据显示和处理功能,能够满足大多数的数据显示需求。下面是 jqGrid 的参数详解: 1. 安装 jqGrid jqGrid 的安装非常简单,只需...

    jqgrid 3.4.4 稳定版

    这个插件允许开发者创建功能丰富的数据网格,支持多种数据源,如 JSON、XML 或者服务器端的数据库。 3. **主题支持**:压缩包中的 "themes" 文件夹包含了 jqGrid 的样式主题,允许用户根据网站或应用的视觉风格...

    maven 项目cxf 使用jqgrid4.4.3 项目开发代码

    这通常涉及到JSON数据的序列化和反序列化,CXF提供了自动处理JSON的能力,而jqGrid则可以直接处理返回的JSON数据并更新表格。 8. **安全与认证**: 考虑到这是一个涉及数据操作的项目,可能还需要实现用户认证和...

Global site tag (gtag.js) - Google Analytics