带有jqGrid错误消息的警报
我希望在加载jqGrid表时出现错误时收到警报。例如,当jsonReader配置不好时,例如repeatitems为true而不是false时,您可以在Firebug中看到错误:带有jqGrid错误消息的警报,jqgrid,alert,jsonreader,Jqgrid,Alert,Jsonreader,我希望在加载jqGrid表时出现错误时收到警报。例如,当jsonReader配置不好时,例如repeatitems为true而不是false时,您可以在Firebug中看到错误: ccur is undefined [Break On This Error] idr = ccur[idn] || idr; 如何在警报中放置此类错误?我已经尝试过使用loadError,但它不起作用,因为它甚至没有被触发。在我看来,您应该只使用try-catch块覆盖jqGrid代码: try { //
ccur is undefined
[Break On This Error] idr = ccur[idn] || idr;
如何在警报中放置此类错误?我已经尝试过使用
loadError
,但它不起作用,因为它甚至没有被触发。在我看来,您应该只使用try-catch
块覆盖jqGrid代码:
try {
// create the grid
$("#list").jqGrid({
// all jqGrid options
});
} catch (err) {
// display the error message which you want
alert(err);
}
更新:您是对的,尝试{…}catch(err){…}
,我之前在IE中描述过,它只用于读取本地数据。从服务器获取数据时,异常发生在$.ajax的成功
回调内部。确切地说,它发生在addJSONData
或addXmlData
内部,具体取决于您使用的数据类型。要捕获异常,您应该在中修改jqGrid的代码。修改后的代码可以是关于以下内容的
success:function(data,st, xhr) {
if ($.isFunction(ts.p.beforeProcessing)) {
ts.p.beforeProcessing.call(ts, data, st, xhr);
}
try {
if(dt === "xml") { addXmlData(data,ts.grid.bDiv,rcnt,npage>1,adjust); }
else { addJSONData(data,ts.grid.bDiv,rcnt,npage>1,adjust); }
if(lc) { lc.call(ts,data); }
if (pvis) { ts.grid.populateVisible(); }
} catch (err) {
alert(err);
}
if( ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";}
data=null;
if (npage === 1) { endReq(); }
}
我在jquery.jqGrid.src.js的相应修改版本中进行了测试,该版本显示错误消息。我没有准确地再现您描述的错误,因此错误消息与您的情况稍有不同
如果您需要修改后的jquery.jqGrid.src.js文件的最小化版本,您可以使用任何JavaScript最小化工具自己生成它。例如,可以免费下载和安装。用法为
ajaxmin.exe jquery.jqGrid.src.js -out jquery.jqGrid.min.js
将生成jquery.jqGrid.src.js的新最小化版本,该版本甚至比原来的jquery.jqGrid.min.js更小
另一个很好的最小化是在线提供的。您应该只使用“简单”优化。我已经尝试过了,但没有成功。有人告诉我这是因为jqgrid代码已经有了一个很大的尝试,所以我没有机会做我想做的事情。但我不确定这一点,这就是为什么我发布了这个问题。