jQuery DataTables请求未知参数

时间:2014-02-07 21:57:35

标签: javascript jquery datatable datatables

我很难弄清楚为什么这不起作用......所以jsfiddle会起作用。

jsfiddle working

现在jsfiddle正常工作,因为我已经创建了一个与下面代码中的console.log(data)完全相同的var。

$(document).ready(function () {
    $("#<%= ddlProduct.ClientID %>").change(function (e) {
        var P_ID = $("#<%= ddlProduct.ClientID %>").val();
        $.ajax({
            headers: {
                Accept: "*/*"
            },
            type: "POST",
            url: "../service/product.asmx/GetProduct",
            data: '{"jsondata" : {"P_ID" : "' + P_ID + '"}}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg, status, metaData) {
                var data = msg.d.P_ID;
                buildMyDatatable(data);
            },
            error: function (ex, status) {
                //alert(ex.responseText);
                alert("error");
            }
        });
    });

    function buildMyDatatable(data) {
        console.log(data);
        $("#table_id").dataTable().fnDestroy();
        $('#table_id').dataTable({
            "bProcessing": true,                
            "aoColumns": [
                    { mData: "Q_ID"},
                    { mData: "Business" },
                    { mData: "Product" },
                    { mData: "QuestionType" },
                    { mData: "Question" },
                    { mData: "Answer" },
                    { mData: "AskBy" },
                    { mData: "AnsBy" },
                    { mData: "AnsByEmail" },
                    { mData: "DateAsk" },
                    { mData: "DateAns" }
                ],
                "aaData": data,
        });
    }
});

我的问题是,为什么var data = server.hardcoded.response在使用实际的ajax响应时无效?

使用ajax响应时出现此错误。

DataTables warning (table id = 'table_id'): Requested unknown parameter 'Q_ID' from the data source for row 0

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

var data = $.parseJSON(data);

固有的JavaScript将它作为字符串而不是对象传递。