【问题标题】:Jquery Datatables Error: Invalid JSON primitive: drawJquery Datatables 错误:无效的 JSON 原语:draw
【发布时间】:2015-06-13 10:03:47
【问题描述】:

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

$('#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 发送的,而不是我。

【问题讨论】:

    标签: javascript jquery ajax json datatable


    【解决方案1】:

    你可以给 "bServerSide" : true for serverSide: true。 如果它不起作用检查“serverSide”:true

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多