在ajax请求jqgrid之后出现错误时显示错误消息

时间:2010-05-17 12:59:49

标签: jqgrid callback

我使用此功能删除行:

function deleteRow(){
 rows = jQuery("#category_grid").getGridParam('selarrrow');
 if( rows.length>0){
  jQuery('#category_grid').delGridRow(rows,{
   msg:'Verwijderen geselecteerde rijen?'   
  });
 }else{
  alert("Selecteer eerst een rij om te verwijderen!"); 
 }
}

但是当我的php失败时,服务器端会抛出异常。错误消息看起来不太好。如何在对话框中显示errotext?或者在ajax调用后收到错误消息?

目前错误消息如下:错误状态:'CDbException'。错误代码:500

当我用Google搜索时,我发现了一个名为errorTextFormat的delGridRow函数的事件。这是我正在寻找的事件吗?有人可以举一个这个事件的实施例子吗?

问候

尼尔斯

1 个答案:

答案 0 :(得分:3)

delGridRow的第二个参数是带有选项的对象,因此您可以执行以下操作

jQuery('#category_grid').delGridRow(rows,{
    errorTextFormat: function (data) {
        if (data.responseText.substr(0, 6) == "<html ") {
            return jQuery(data.responseText).html();
        }
        else {
            return data.responseText;
            // or
            // return "Status: '" + data.statusText + "'. Error code: " +data.status;
        }
    }
});

retText函数提供的文本errorTextFormat将放在divjQuery.html(retText)代码内delGridRow的相应delGridRow内。 1}}功能。

顺便说一句,我不直接调用navGrid函数。如果我将导航栏添加到errorTextFormat函数的jqGrid,我将$.jgrid.del函数作为标准“删除按钮”的参数。确切地说,我是关于jQuery.extend(jQuery.jgrid.del, { ajaxDelOptions: { contentType: "application/json" }, mtype: "DELETE", reloadAfterSubmit: false, jqModal: false, serializeDelData: function (postdata) { return ""; }, errorTextFormat: function (data) { if (data.responseText.substr(0, 6) == "<html ") { return jQuery(data.responseText).html(); } else { return "Status: '" + data.statusText + "'. Error code: " + data.status; } } });

这样做的
errorTextFormat

(我的{{1}}的真实代码看起来有点复杂,但使用的想法是一样的。)