以DataGrid为例,当后台处理请求失败时,前台默认是无任何记录显示。
用户并不知道是没有查询到,还是处理出现的问题,不是非常友好。
此时onLoadError()函数就登场了。
onLoadError函数根Ajax中的error()函数的参数是相同的:
error | Function | (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。function (XMLHttpRequest, textStatus, errorThrown) {
// 通常情况下textStatus和errorThown只有其中一个有值
this; // the options for this ajax request
} |
下面是onLoadError处理:
onLoadError(XMLHttpRequest) {
var json = eval("(" +XMLHttpRequest.responseText + ")");
var text = '';
for (var i in json.content) {
text += json.content[i] + '<br/>';
}
$.messager.alert(json.title, text, 'error');
}
后台处理是用的spring拦截异常并跳转到相应的控制器进行处理,这些将在别外一篇中进行描述。