Jquery DataTables警告:table=userTable-JSON响应无效?

Jquery DataTables警告:table=userTable-JSON响应无效?,jquery,jsp,servlets,datatables,gson,Jquery,Jsp,Servlets,Datatables,Gson,我使用jQuery DataTables并得到以下警告消息: DataTables警告:table=userTable-JSON响应无效 servlet从MySQL获取用户,我想在jQuery数据表中显示,但Ajax不能解析JSON,或者JSON在servlet中生成错误 Servlet: List<UserDTO> users = this.service.getAllUser(); Gson gson = new Gson();

我使用jQuery DataTables并得到以下警告消息:

DataTables警告:table=userTable-JSON响应无效

servlet从MySQL获取用户,我想在jQuery数据表中显示,但Ajax不能解析JSON,或者JSON在servlet中生成错误

Servlet:

    List<UserDTO> users = this.service.getAllUser();
                Gson gson = new Gson();
                request.setAttribute("users", gson.toJson(users));
                request.getRequestDispatcher("listAllUser.jsp").forward(request, response);

您的代码有几个问题:

  • 您已使用
    “serverSide”:true启用了服务器端处理模式,但数据的格式改为客户端处理模式。删除
    “服务器端”:true
    以使用客户端处理模式

  • 您需要使用下面显示的
    dataSrc:“
    ash来匹配您的JSON数据格式,有关更多信息,请参阅

    "ajax" : {
        "url" : "ListAllUserServlet",
        "type" : "POST",
        "dataSrc": ""
    },
    

即使所有数据都正确显示,而且当您收到此警告时,也可以将其处理为

$.fn.dataTable.ext.errMode = function(obj,param,err){
                var tableId = obj.sTableId;
                console.log('Handling DataTable issue of Table '+tableId);
        };

同样的错误,但如果我想使用服务器端。那么我该怎么办呢?因为如果我使用客户端,我的数据将以湖泊形式出现,那么客户端浏览器将无法处理?鉴于上述更改,但对我来说不起作用。事实上,ajax响应不是datatable呈现格式,因此我循环遍历数据并绘制表。数据显示在表中,但上面的错误警报也显示出来。需要删除弹出的错误警报。它可以工作,因为一段时间点击ajax不会返回任何结果。这确实非常有帮助
"ajax" : {
    "url" : "ListAllUserServlet",
    "type" : "POST",
    "dataSrc": ""
},
$.fn.dataTable.ext.errMode = function(obj,param,err){
                var tableId = obj.sTableId;
                console.log('Handling DataTable issue of Table '+tableId);
        };