Jquery Datatables错误:无效的JSON基元:draw

Jquery Datatables Error: Invalid JSON primitive: draw

本文关键字:JSON 基元 draw 无效 Datatables 错误 Jquery      更新时间:2023-09-26

我正在尝试用JQuery Datatables 1.10.5实现服务器端处理。这是我的DataTable 代码

$('#userTable').dataTable({
        serverSide: true,
        ajax: {
            type: "POST",
            data: {
                'statusFilter': $('#status-filter').val(),
                'secondaryFilterOption': $('#secondary-filter-option').val(),
                'secondaryFilterOperator': $('#secondary-filter-operator').val(),
                'secondaryFilterText': $('#secondary-filter-text').val()
            },
            url: "UserManagement.aspx/GetUsers",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert("success");
                    },
           error: function (jqXhr, textStatus, errorThrown) {
                        alert(jqXhr.responseText);
                    }
        },
        scrollY: "500px",
        scrollCollapse: true,
        columnDefs: [
        {
            "targets": [0],
            "visible": false,
            "searchable": false
        },
        {
            "targets": [8],
            "visible": true,
            "searchable": false,
            "render": function (data, type, row, meta) {
                return '<img title="Edit" class="action-button edit-user center" src="/ntims/images/icon_edit.gif" id="' + row.id + '" />';
            },
        }],
        columns: [
            { "data": "id" },
            { "data": "lastName" },
            { "data": "firstName" },
            { "data": "login" },
            { "data": "command" },
            { "data": "email" },
            { "data": "phone" },
            { "data": "status" }
        ]
    });

在ajax调用过程中,我得到以下错误:

{"Message":"Invalid JSON primitive: draw.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()'r'n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)'r'n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)'r'n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)'r'n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)'r'n at System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)'r'n at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)'r'n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}

"draw"是数据表发送到服务器的内容。据我所知,我无法控制这个变量。我看了Jquery论坛并做了一些其他研究,但我无法找出这个问题。我看到人们对他们发送的其他参数有问题,但"draw"是Jquery发送的,而不是我发送的。

您可以为serverSide:true指定"bServerSide":true。如果不起作用,请使用"serverSide"进行检查:true