一个自学小白很苦恼,想要实现删除数据后,在前台无刷新显示删除数据后的表格.

一个自学小白很苦恼,想要实现删除数据后,在前台无刷新显示删除数据后的表格.

问题描述:

图片说明)

一个自学小白很苦恼,想要实现删除数据后,在前台无刷新显示删除数据后的表格.
知道还差不少步骤,用的eclipse,ajax.

简单
1. 发送ajax请求到对应的url地址,请求删除
2. 服务响应请求,并返回成功状态码
3. ajax sucess中定义一个函数,更改 html页面属性,如弹出一个对话框,或者把数据的状态改为 已删除
4. 问题解决了

function takeId(){

var number=0;
var select = document.getElementsByName("test");

var length = select.length;

var str="";

for(var i=0;i<length;i++){  
    if(select[i].checked == true){  
        str+=select[i].value+",";
        number++;           
    }    
} alert(str);
if(number=0){
    alert("至少选择一条记录");
    return false;      
}else{
    if(window.confirm("确认删除吗?删除后数据将无法恢复")){          
         location.href="delete.do?flag=delete&id="+str;
          return true;              }
            else{                   
                alert("取消成功!");
                return false;               
                }           
            }         




            try{
        request.setCharacterEncoding("UTF-8");              
          try {
              Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } 
            String url = "jdbc:mysql://localhost:3306/mysql"   ;//mysql为数据库的名称
            String user = "root";     //数据库的登录名
            String password = "123456"; //数据库的登录密码
            Connection conn=null;
            conn=DriverManager.getConnection(url, user, password);

            String flag=request.getParameter("flag");
            String users=request.getParameter("id");//用数组接受前台传来的被选中的复选框的值
            System.out.printf(users,flag);
            String[] Id=users.split(",");           
            int m=0;
            if (Id.length>0) {      
                for (int i = 0; i < Id.length; i++){
                int id1=Integer.parseInt(Id[i]);
                String sql = "delete from test where id="+id1;  //test为要查询的表    
                System.out.println(id1);
                        m++;                                    
                    }               
              }         
            if (m==Id.length) {
                request.setAttribute("delete_infos", "删除成功");   
                request.getRequestDispatcher("success.jsp").forward(request, response);     
             }else{
                 request.setAttribute("delete_infos", "删除失败");
                 request.getRequestDispatcher("login.jsp").forward(request, response);          
             }} catch (SQLException e) {
                    System.out.println(e.getMessage());
             } 
        }
    }                                                                                   

delete那块写不出来

使用定时器,ajax定时发请求,请求新的数据

用ajax的同步刷新,改完就变

1,刷新最新数据的方式:ajax删除之后,不能只返回成功失败,要返回新的列表数据,js重写列表table的数据

2,如果列表不要求缺少数据,可删除后 隐藏当前行tr实现 只是列表会少一条数据

推荐:正常大多业务都是删除后 后台重定向列表页面的

没看到你的ajax代码

以下代码望采纳:
$.ajax({
type: 'POST',
dataType: 'json',
cache: false,
url: '{ 后台做了删除功能的Action(例如:/news/delete) }',
data: { json格式参数(例如 'newsid': 101) },
error: function () {
console.log('输出错误信息');
},
success: function (result) {
// result 是后台返回的json格式结果
// 在这里做你想要做的删除后的表格数据显示
}
});

ajax技术可以实现无刷新请求,js写的哦!