"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填充为自定义错误消息。这里两个调用都是成功调用,但是是否显示表内容或错误消息取决于。
我尝试了“成功”属性,但我不确定当data.data中存在数据时如何手动绑定列
答案 0 :(得分:1)
最好的方法是使用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以获取代码和演示。