jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何让JQGrid识别服务器发送的错误?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jqgrid功能非常好。

我想知道是否有可能捕获服务器发送错误?怎么做?

解决方法

我最近广泛使用了我正在为CB Richard Ellis(我的雇主)工作的原型项目的jqgrid。有很多方法来填充jqgrid,如 documentation所示:(请参阅“检索数据”节点)。

目前,我做一个返回一个json字符串的服务调用,当被评估时,给我一个包含以下内容的对象:

> columnNames:String []
> columnModels:object [](每个对象都有属性“name”,“index”和“sortable”)
> Data:object [](每个对象都具有与列模型中的名称相匹配的属性)
> @R_76_10586@lRows:int

在我的成功回调中,我手动创建了这样的jqgrid:(“data”是我在评估返回的json字符串时得到的对象)。

var colNames = data.columnNames;
var colmodel = data.columnModels;
var previewData = data.PreviewData;
var @R_76_10586@lRows = data.@R_76_10586@lRows;
var sTargetDiv = userContext[0]; // the target div where I'll create my jqgrid

$("#" + sTargetDiv).html("<table celLPADding='0' cellspacing='0'></table>");
var table = $("#" + sTargetDiv + " > table");
table.jqGrid({
    datatype: 'local',colNames: colNames,colmodel: colmodel,caption: 'Data Preview',height: '100%',width: 850,shrinkToFit: false
});

for (var row = 0; row < previewData.length; ++row)
    table.addRowData(row,previewData[row]);

所以你可以看到我手动填充数据。有一种以上的服务器错误。有一个逻辑错误,您可以在json字符串中作为属性返回,并在尝试创建jqgrid之前检查(或以每行为单位)。

if (data.HasError) ...

或者按行排列

for (var row = 0; row < previewData.length; ++row)
{
    if (previewData[row].HasError)
        // Handle error,display error in row,etc
        ...
    else
        table.addRowData(row,previewData[row]);
}

如果您的错误是服务器上的未处理的异常,则可能需要在异步调用时发出错误回调。在这种情况下,您的成功回调(大概)正在创建您的jqgrid将不会被调用

这当然适用于手动填充jqgrid,这只是可用的许多选项之一。如果您将jqgrid直接连接到服务调用函数检索数据,那么这其实是完全不同的。

在文档页面上,查看“基本网格”>活动在那里你会看到可能派上用场的“loadError”事件。

大佬总结

以上是大佬教程为你收集整理的jquery – 如何让JQGrid识别服务器发送的错误?全部内容,希望文章能够帮你解决jquery – 如何让JQGrid识别服务器发送的错误?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。