【问题标题】:Data Table Ajax Call数据表 Ajax 调用
【发布时间】:2015-09-05 01:52:24
【问题描述】:

我正在尝试通过 Jquery DataTable 从数据库中获取数据,它给出的错误为:

“DataTables 警告:表 id=tblBindData - 无法重新初始化 数据表。”

function BindData() {

    $("#tblBindData").DataTable({
        "processing": true,
        "serverSide": true,
        "sAjaxSource": "FirstTask.aspx/PopulateDatatable",
        "fnServerData": function (sSource, aoData, fnCallback) {
            aoData.push({});
            $.ajax({
                "dataType": 'json',
                "contentType": "application/json; charset=utf-8",
                "type": "POST",
                "url": sSource,
                "data": aoData,
                "success": function (msg) {
                    var json = jQuery.parseJSON(msg.d);
                    fnCallback(json);
                    $("#tblBindData").show();
                },
                error: function (xhr, textStatus, error) {
                    if (typeof console == "object") {
                        console.log(xhr.status + "," + xhr.responseText + "," + textStatus + "," + error);
                    }
                }
            });
        }
    });

}

【问题讨论】:

  • 您是否从服务器得到正确的响应?
  • 在当前版本的 DataTables (1.10.4) 中,您可以简单地将 destroy:true 添加到配置中,以确保在重新初始化之前删除任何已经存在的表。参考这个stackoverflow.com/a/26968754/795683

标签: c# jquery asp.net ajax


【解决方案1】:

你的代码有一些错误,

  1. 你给了dataType:json,那么就没有必要用jQuery.parseJSON(msg.d)了。
  2. 如果您使用的是"contentType": "application/json; charset=utf-8",,那么您应该在将数据传递给ajax 之前对其进行序列化。最好从你的 ajax 调用中删除 contentType

【讨论】:

  • 好的,谢谢你解决了这个问题,但现在它抛出另一个错误“无效的 JSON 原语:
  • 你能告诉我我必须对代码进行哪些更改才能获取数据
  • 我是数据表的新手,它没有成功功能
  • 请参考这个链接,你会得到更好的想法datatables.net/examples/data_sources/server_side.html
  • 先生,请参考asp.net示例
    我不是php开发人员
猜你喜欢
  • 2021-10-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 2018-02-28
  • 2012-11-27
  • 1970-01-01
  • 2011-12-01
相关资源
最近更新 更多