我们知道,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()方法,如果觉得对用户不够友好,可考虑借助其他的方式,比如实现一个浮动消息提示框。
分享到:
相关推荐
在这个场景下,我们将使用ASP.NET的Web Forms或MVC模式来创建服务器端代码,处理数据请求和响应。 1. **安装jqGrid** 在ASP.NET项目中使用jqGrid,首先需要将其添加到页面的HTML中。可以通过下载jqGrid的开源版本...
6. 定义事件处理:在JqGrid中,可以通过定义各种事件来实现更复杂的功能,例如在用户编辑数据后触发服务器端的验证和保存操作。 7. 错误处理:确保在C#代码中进行适当的错误处理,以便在出现异常时能够向用户反馈。...
6. 服务器端排序:支持服务器端排序,减轻前端处理压力,提升用户体验。 7. 支持链接、图片和复选框:在表格中可以嵌入链接、图片以及复选框等多种元素,增强表格的表现力。 8. 主从网格显示:可以在单个页面上展示...
1. **行选择**:jqGrid支持单选和多选,可结合操作按钮实现数据的选定和处理。 2. **工具栏**:可以添加自定义工具栏,提供搜索、导出等额外功能。 3. **分组和汇总**:对于统计类需求,jqGrid支持数据分组和计算...
- 集成服务器端数据处理,如使用ASP.NET的数据访问层与jqGrid交互。 - 自定义jqGrid的样式和行为,实现个性化设计。 - 掌握jqGrid的事件处理机制,实现复杂的用户交互。 - 学习jqGrid的API,包括方法调用和参数设置...
对于服务器端提交,你需要定义一个处理这些请求的后端脚本,如 PHP 或 JSP。 4. **验证**:可以通过 `beforeSubmitCell` 回调函数来执行客户端验证,确保输入的数据符合特定的格式或规则。 5. **自定义编辑器**:...
通常,这会涉及到AJAX请求,使用`url`参数指定服务器端接口,并通过`postData`传递编辑后的数据。 jqGrid还提供了撤销和重做功能,可以通过`cellEdit`选项启用单元格级别的编辑,并结合`beforeSaveCell`和`...
总结,"jqgrid实例保存"涉及到使用jqGrid创建表格,设置编辑模式,处理数据保存的AJAX请求,以及在服务器端执行CRUD操作。通过理解并实践这些知识点,开发者能够创建具有数据管理功能的交互式表格。在JqDemo项目中,...
- **错误处理**:适当地捕获和处理可能出现的错误,提供友好的用户提示。 - **安全考虑**:在涉及用户数据时,确保符合安全规范,防止XSS、CSRF等攻击。 jqGrid作为一款强大的表格插件,不仅提供了丰富的功能,还...
查:jqGrid默认支持服务器端分页,每次请求都会包含当前页的参数,PHP脚本据此生成SQL查询语句,获取指定页的数据并返回。 为了提高安全性,还需要在PHP端进行输入验证和过滤,防止SQL注入等攻击。同时,考虑到用户...
3. **分页**:`pager`配合`rowNum`实现分页,`loadonce`属性可以实现服务器端分页和客户端分页。 4. **表头菜单**:`caption`定义表格标题,`thead`支持自定义表头,`sortable:true`允许列排序,`resizeable:true`...
提到的例子使用的是jqGrid的4.3版本,该版本引入了许多增强和优化,包括性能提升、新的API方法、错误修复以及对触摸设备的支持。不过,值得注意的是,jqGrid的开发后来转移到了Free jqGrid项目,目前最新的版本提供...
可以通过配置JqGrid的参数来启用这些功能,并在服务器端编写相应的处理逻辑。 7. **自定义和扩展**:JqGrid提供了丰富的选项和事件,允许你自定义外观和行为,比如添加搜索、过滤、编辑模式等。你还可以通过插件或...
- **事件处理**:jqGrid提供了许多内置事件,如`loadComplete`、`beforeEditCell`等,可用于监听和处理用户操作。 - **自定义行为**:你可以通过扩展jqGrid的函数来实现特定的功能,比如自定义编辑对话框、添加验证...
- 数据加载:支持从服务器端动态加载数据,可以设置分页、排序和过滤条件。 - 编辑功能:提供行内编辑、弹出式编辑和批量编辑模式,支持增删改查操作。 - 自定义列:可以自定义列的宽度、标题、对齐方式、显示...
在处理数据时,jqGrid支持JSON、XML等多种数据格式,可以方便地与服务器端的数据接口进行交互。通过`loadError`、`loadComplete`等事件,开发者可以对数据加载过程进行监控和自定义处理。 不仅如此,jqGrid还提供了...
6. 自定义操作:开发者可以定义自己的操作按钮,如“添加”、“删除”、“保存”等,实现与服务器端的交互。 在压缩包中,有以下几个关键文件夹: 1. `css`:这个文件夹包含了jqGrid的样式文件,如`ui.jqgrid.css`...
jqGrid 是一个基于 jQuery 的表格控件,以 Ajax 方式与服务器端通信。它提供了强大的数据显示和处理功能,能够满足大多数的数据显示需求。下面是 jqGrid 的参数详解: 1. 安装 jqGrid jqGrid 的安装非常简单,只需...
这个插件允许开发者创建功能丰富的数据网格,支持多种数据源,如 JSON、XML 或者服务器端的数据库。 3. **主题支持**:压缩包中的 "themes" 文件夹包含了 jqGrid 的样式主题,允许用户根据网站或应用的视觉风格...
这通常涉及到JSON数据的序列化和反序列化,CXF提供了自动处理JSON的能力,而jqGrid则可以直接处理返回的JSON数据并更新表格。 8. **安全与认证**: 考虑到这是一个涉及数据操作的项目,可能还需要实现用户认证和...