"ajax": {
"url": url,
"type": "GET",
"datatype": "json",
"data": { id: id}
//,
//"success": function (data) {
// if (!data.data)
// ShowErrorMessage(data.message);
//}
},
"columns": [
{ "data": "ID" },
{ "data": "Name" },
{ "data": "Time" }
],
"columnDefs": [{
"targets": 2,
"data": "Time",
"render": function (data) {
return (ToJavaScriptDate(data));
}
}]
});
上面的示例代码将使用 ajax GET 调用填充数据表。这里的问题是,有时我会返回有效的错误消息,而不是来自 ajax 响应的表数据。
因此,当 data.data 中有数据时,我需要填充表,如果数据不存在,我需要填充 data.message 作为自定义错误消息。这里两个调用都是成功调用,但是否显示表格内容或错误消息取决于。
我尝试了“success”属性,但我不确定当 data.data 中有数据时如何手动绑定(bind)列
最佳答案
最好的方法是使用 language.emptyTable
选项。
但是,由于您想使用来自 Ajax 响应的消息,因此有一种巧妙的方法可以做到这一点。
var table = $('#example').DataTable({
ajax: {
url: 'https://api.myjson.com/bins/if7vf',
dataSrc: function(d){
if(d.data.length === 0){
var settings = $('#example').DataTable().settings()[0];
settings.oLanguage.sEmptyTable = d.message;
}
return d.data;
}
}
});
参见this example用于代码和演示。
关于javascript - jQuery Datatable - 来自 ajax 调用的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901039/