当ajax请求jqgrid后出现错误时,显示漂亮的错误消息
我使用此函数删除行:当ajax请求jqgrid后出现错误时,显示漂亮的错误消息,jqgrid,callback,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
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中,当它失败时,服务器端会抛出一个异常。错误消息看起来不太好。如何在对话框中显示文本?或者在ajax调用后捕获错误消息
此时,错误消息看起来像:错误状态:“CDBEException”。错误代码:500
当我在谷歌上搜索时,我发现了delGridRow函数的一个名为errorTextFormat的事件。这是我要找的活动吗?有人能给我举一个实施这个活动的例子吗
问候
nielsdelGridRow的第二个参数是一个带有选项的对象,因此您可以执行以下操作
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;
}
}
});
(我的
errorTextFormat
的真实代码看起来有点复杂,但用法是一样的)。谢谢你,Oleg,我用这个关于“errorTextFormat”的答案解决了我的问题
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;
}
}
});