【问题标题】:Only one Row record show on the datatable using Jsp Ajax使用 Jsp Ajax 在数据表上只显示一条记录
【发布时间】:2019-08-02 17:47:03
【问题描述】:

我需要使用 jsp json 查看数据表中的记录。数据成功显示到数据表。我的问题是只显示一行数据。数据库记录的最后一行重复了 4 次。我在数据表上显示的内容以及 mysql 数据库中的数据下方附上了图片。

记录显示一个数据表看起来像这样。数据重复

Mysqldata数据

数据表

    function get_all()
{
    $('#tbl-projects').dataTable().fnDestroy();
    $.ajax({
        url : "all_project.jsp",
        type : "GET",
        dataType : "JSON",

        success:function (data){
                console.log(data);
            $('#tbl-projects').dataTable({
                "aaData": data,
                "scrollX": true,
                "aoColumns": 
                [
                    {"sTitle": "Name", "mData": "name"},
                    {"sTitle": "Course", "mData": "course"},
                    {"sTitle": "Fee", "mData": "fee"},
                ]
            });

        },

        error: function (xhr) {
            console.log('Request Status: ' + xhr.status  );
            console.log('Status Text: ' + xhr.statusText );
            console.log(xhr.responseText);
            var text = $($.parseHTML(xhr.responseText)).filter('.trace-message').text();
        }

    });

} details.jsp

    <%@page import="org.json.simple.JSONArray"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.json.simple.parser.JSONParser"%>
<%@page import="org.json.simple.parser.ParseException"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
 <%
    JSONObject obj = new JSONObject();
     JSONArray list = new JSONArray();
    Connection con;
    PreparedStatement pst;
    ResultSet rs;
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost/studcrud", "root","");
    String query="select * from records";  
    Statement stmt=con.createStatement();
    rs=stmt.executeQuery(query);
    while(rs.next())       
{    
    String id     = rs.getString("id");
    String name   = rs.getString("name");
    String course = rs.getString("course");
    String fee    = rs.getString("fee"); 
    obj.put("name", name);
    obj.put("course", course);
    obj.put("fee", fee);
    obj.put("id", id);

    list.add(obj);
}
    out.print(list.toJSONString());
    out.flush();      

 %>

【问题讨论】:

  • 尝试不使用toJSONString(),看看您是否收到json 作为响应。
  • 如果我这样尝试 out.print(list);据说错误找不到符号并且没有ajax响应先生
  • 这里把list.put(obj);改成list.add(obj);,你也加了jar文件吗?
  • 先生需要添加哪个jar文件
  • 勾选here或者this就可以下载了

标签: ajax jsp


【解决方案1】:

您需要在ajax success 函数中解析json 即:

<script language="javascript">
   function ClickMe_Click(){
    $.ajax({

        type: "post",
        url: "details.jsp",
        data: {"a": $("#accno").val()},
        success: function(msg) {
    //parsing json response
            var obj = JSON.parse(msg); 
              alert(obj[0].bal);

                 //setting value in input field

                  $("#bal").val(obj[0].bal);
                 $("#name").val(obj[0].name);
        },
        error:function (xhr, ajaxOptions, thrownError){
            alert(xhr.status);
            alert(thrownError);
        }  
    });
    return false;
}
</script>

【讨论】:

  • alert(obj) 看看它有什么,console 有什么错误吗?
  • 坐 localhost 说 404 and not found 。提示信息
  • 你什么时候得到这个[{"name":"ramlangam","bal":"3077"}]然后正如你在上面的cmets中所说的,jsp页面没有任何东西?
  • 是的,我得到了这个。出去。当您编辑我刚刚复制并粘贴的代码时。先生,我不会工作,
  • 只是我写了成功:function(msg) { $("#bal").val(msg[0].bal); $("#name").val(msg[0].name); }, 像这样输出 json 格式 [{"name":"ramlangam","bal":"3077"}] 这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
  • 2020-05-06
  • 2011-07-13
  • 1970-01-01
  • 2021-05-25
相关资源
最近更新 更多