javascript - jQuery Datatable - 来自 ajax 调用的错误消息

标签 javascript c# jquery ajax datatables

 "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/

相关文章:

javascript - 无法读取未定义的属性 'user_id'

javascript - jQuery递归遍历json

c# - 在 Silverlight 中检测 CapsLock 是打开还是关闭

c# - 将泛型与父/子实体一起使用

javascript - If/Else jQuery 跳过未定义的值

javascript - 尝试使用 javascript 通过单击图像来设置图像的不透明度,但不断收到错误

javascript - 构建在选择列表中单击的项目数组并将值分配给元素

c# - 仅附加在第一个用户控件实例上的附加属性

php - jQuery-UI - 从 .droppable 到 p.array 的 .append(快到了!)

jquery - 在 jQuery Datatable 中使用 TableTools 生成 Excel 时隐藏列 - Datatables.net