为 jQuery Datatables ajax 调用设置错误处理程序
set an error handler for jquery datatables ajax call
当 ajax 调用出现问题(即服务器没有响应)以将新数据加载到我的数据表中时,我正在尝试使用自定义错误处理程序。
$table.DataTable().ajax.url(ajaxURL).load();
默认情况下,它会显示一个警报,我可以使用以下设置将其更改为抛出 javascript 错误:
$.fn.dataTable.ext.errMode = 'throw';
但是有了这个,我只是将一个错误记录到控制台,我不确定如何捕获抛出的错误,所以我仍然无法提供自己的错误处理程序。
文档中还列出了一个错误事件,但该事件似乎没有被触发,因此以下内容永远不会发出警报。
$table.on( 'error', function () { alert( 'error' );} );
到目前为止,我发现的其他一切都是针对遗留代码的,例如设置 fnServerData,我想避免进入。
有没有办法在 1.10 API 中设置 ajax 错误回调?
Datatables v1.10.5(2015 年 2 月 10 日发布)中添加了新的错误事件处理。
$.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) {
console.log(message);
};
在此处查看文档:
https://datatables.net/reference/event/errorhttps://cdn.datatables.net/1.10.5/
使用 Ajax error 函数记录错误:
$('#table').DataTable({
ajax: {
dataType: "JSON",
type: "POST",
url: url,
data: [],
async: true,
error: function (xhr, error, code) {
console.log(xhr, code);
}
},
});
将该事件用作自定义错误处理程序:
$(document).ready(function () {
$('#myTable').on('error.dt', function (e, settings, techNote, message) {
console.log('An error has been reported by DataTables: ', message);
}).DataTable({
"displayLength": 15,
"ajax": {
....
我正在使用数据表 1.10.19 + Bootstrap,提供的大多数解决方案(包括上面接受的解决方案)都不起作用。但是,我设法捕获了错误,如下所示:
"ajax" : {
"datatype" : "json",
"contentType" : "application/json",
"method" : "GET",
"url" : $url,
"data" : { x : y },
"dataSrc": function (data) {
if (data.result == "OK"){
return data.yourObj;
}else{
// hide processing or any loading modal here
// display error on page or something
console.log("Error: " + parseResultData(data.resultData));
data.yourObj = [] //since datatables will be checking for the object as array
return data.yourObj;
}
}
}
相关文章:
- javascript:如何在antlr生成的Lexer中进行错误处理
- 生成pdf或其他非html文件时的错误处理
- sailsjs在创建两个模型时的错误处理
- 为什么没有调用我的流错误处理程序
- 错误处理try&catch+回调
- EventSource中的错误处理
- Angular JS中的通用Ajax错误处理-拦截器
- Sinon Mocha节点错误处理
- 如果文件不存在,fs.watch是否有错误处理程序
- Javascript初始化和错误处理
- AngularJS错误处理:根据错误数组显示错误
- JQuery 图像错误处理
- BreezeJS中央错误处理程序和自动重试
- 文件下载html与错误处理FileNotFound
- 使用mongoose保存多个文档时的错误处理
- Node.js如何知道回调的第一个参数是否是错误处理程序
- Meteor JavaScript-错误处理
- AJAX自定义错误处理代码问题
- 正在获取丢失的错误处理程序套接字消息,无法读取属性'timerID'使用Node.js和Socket.i
- 为什么不't JavaScript库使用错误处理