首页 > 解决方案 > 将数据表与 JSP 一起使用不会返回表中的查询数据并向我发送错误

问题描述

数据表中 ajax 请求中的故障向我返回错误并显示以下消息

DataTables 警告:表 id=tablaEstudiantes - JSON 响应无效。有关此错误的更多信息,请参阅http://datatables.net/tn/1

在控制台上修改不会返回任何值,如下图所示

正如您在 ajax 中看到的那样,不会返回任何附加在 javascript 中的代码的数据

正如您在 ajax 中看到的那样,不会返回任何附加在 javascript 中的代码的数据

<script>
            
            $(document).ready(function() {
                
               var tabla= $('#tablaEstudiantes').DataTable({
                       "destroy":true,
                       "processing":true,
                       "ajax":{
                           method:"POST",
                           url:"../ConsultaEstudiantes",
                           dataSrc:"datos"
                       },
                       columns:[
                           {data:"codigo"},
                            {data:"Nombres"},
                            {data:"Correo"},
                            {data:"Telefono"},
                            {data:"Estado"},
                            {data:"Campus"},
                            {data:"Facultad"},
                            {data:"Semestre"},
                            {data:"Modalidad"}
                       ]
                });
              
                //$.fn.dataTable.ext.errMode = 'throw';
            });
</script> 

servlet 中使用的代码

protected void processRequest(HttpServletRequest request,
 HttpServletResponse response)
             throws ServletException, IOException {
         response.setContentType("application/json;charset=UTF-8");
         PrintWriter out = response.getWriter();
        
         Conexion conexion = new Conexion();
         PreparedStatement pst = null;
         ResultSet rs = null;
         
         try {
             String consulta = "SELECT estudiantes.Id_estudiante, estudiantes.Name_users, estudiantes.Mail_users,
 estudiantes.Phone_users, estudiantes.Estado_usuario,
 campus.Name_campus, faculta.Name, programa.Name_program,
 estudiantes.Semestre, estudiantes.Modalidad FROM estudiantes, campus,
 faculta, programa WHERE estudiantes.Id_campus = campus.Id_campus AND
 faculta.Id=estudiantes.Id_faculty AND
 programa.Id_program=estudiantes.Id_program;";
             pst =(PreparedStatement) conexion.getConexion().prepareStatement(consulta);
             rs = pst.executeQuery(consulta);
             
             com.google.gson.JsonObject elementos =  new com.google.gson.JsonObject();
             com.google.gson.JsonArray array = new com.google.gson.JsonArray();
             
             while(rs.next()){
                com.google.gson.JsonObject item = new com.google.gson.JsonObject();
                 
                 item.addProperty("codigo", rs.getString("estudiantes.Id_estudiante"));
                 item.addProperty("nombre", rs.getString("estudiantes.Name_users"));
                 item.addProperty("correo", rs.getString("estudiantes.Mail_users"));
                 item.addProperty("telefono", rs.getString("estudiantes.Phone_users"));
                 item.addProperty("estado", rs.getString("estudiantes.Estado_usuario"));
                 item.addProperty("campus", rs.getString("campus.Name_campus"));
                 item.addProperty("facultad", rs.getString("faculta.Name"));
                 item.addProperty("programa", rs.getString("programa.Name_program"));
                 item.addProperty("semestre", rs.getString("estudiantes.Semestre"));
                 item.addProperty("modalidad", rs.getString("estudiantes.Modalidad"));                
                 
                 array.add(item);                
             }
             
             elementos.add("datos", array);
             
             out.print(elementos.toString());
             
         } catch (SQLException e) {
         }finally{
             try {
                 if(conexion != null) out.close();
                 if(pst != null) pst.close(); 
                 if(rs != null) rs.close();
             } catch (SQLException e) {
                 System.out.println("Error 4: " + e);
             }
         }
         
         
         
     }

我检查了,但您没有向我发送 ajax 数据或错误类型,我很感激您的合作是我正在做的一个小项目,我是编程世界的新手

标签: javascriptjavajqueryjson

解决方案


我认为

item.addProperty("codigo", rs.getString("estudiantes.Id_estudiante"));
             item.addProperty("Nombre", rs.getString("estudiantes.Name_users"));
             item.addProperty("Correo", rs.getString("estudiantes.Mail_users"));
             item.addProperty("Telefono", rs.getString("estudiantes.Phone_users"));
             item.addProperty("Estado", rs.getString("estudiantes.Estado_usuario"));
             item.addProperty("Campus", rs.getString("campus.Name_campus"));
             item.addProperty("Facultad", rs.getString("faculta.Name"));
             item.addProperty("Programa", rs.getString("programa.Name_program"));
             item.addProperty("Semestre", rs.getString("estudiantes.Semestre"));
             item.addProperty("Modalidad", rs.getString("estudiantes.Modalidad"));         

数据表必须区分大小写


推荐阅读