Datatable.js - 无法显示数据

时间:2014-08-08 06:05:05

标签: c# jquery json datatable

我无法使用datatable.js检索数据表中的数据。 Json响应是一个字符串,但在输出中我得到每行中字符串的每个字符,而不是jst两个条目。

请帮忙。提前致谢

function fillGrid() {

    $.ajax({
        type: 'POST',
        url: 'BehindCode/client.aspx/fillgrid',

        cache: false,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        beforeSend: function () {

            $('#gridLoadingDiv').attr('style', 'display:block');
        },
        complete: function () {

            $('#gridLoadingDiv').attr('style', 'display:none');
        },
        data: "{}",

        success: function (data) {
            data = data.d;
            alert(data);

            $("#clientTable").DataTable({
                "searching": true,
                    "processing": true,
                    "data": data,

                    "columns": [{
                    "title": "CLIENT NAME"
                }]
            });
        }
    });
}

C#code..from正在检索数据..

[WebMethod]

    public static string fillgrid()
    {
        BehindCode_client client = new BehindCode_client();

        string strfetch = "SELECT CLIENT_NAME FROM k_client_master";

        string aadata = "";

        client.ds = client.DEngine.GetDataSet(strfetch, "Data", client.conn);

        if (client.ds != null && client.ds.Tables[0].Rows.Count > 0)
        {
             aadata = JsonConvert.SerializeObject(client.ds);
         //  aadata = "{'draw':1, 'recordsTotal':2, 'recordsFiltered':2, 'data':[{'CLIENT_NAME': 'Pyrotech'},{'CLIENT_NAME':'Workspace'}]}";  // tried this also
         //  aadata = "{'data':[{'CLIENT_NAME': 'Pyrotech'}, {'CLIENT_NAME':'Workspace'}]}";   // tried this as well
        }
            return (aadata.Replace("'","\""));
    }
}

JSON响应与开发人员工具一样 JSON Response which i got in designer view


数据表中的输出 Output Table.. It is not showing "pyrotech' and "workspace" but evry character in every row.


数据库中已被检索的企业

The enteries in the database from where the datatable is to be filled.

1 个答案:

答案 0 :(得分:1)

我不熟悉C#,但在JavaScript部分你没有解码JSON数据。

试试这个:

success: function (data) {
    data = JSON.parse(data.d).Data;
    alert(data);

    $("#clientTable").DataTable({
        "searching": true,
        "processing": true,
        "data": data,

        "columns": [
            {data: "CLIENT_NAME"}
        ]
    });
}