Ajax-增删改查实现

一、Ajax-查询全部

简介 查询楼宇,可以根据任何条件进⾏查询(如查询指定的楼宇名称等)。默认是查询所有楼宇。无分页显示
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/getBuddings
请求类型 GET
参数名 buddingname、address、propertyunit、region
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "OK",
    "data": {
        "list": [
            {
                "id": 1,
                "buddingname": 楼宇1,
                "address": "广东省广州市海珠区聚德中路87号",
                "propertyunit": 河南新乡拉斐国际1号楼A梯,
                "region": 广州市,
                "inserttime": null,
                "updatetime": null
            }
        ],
     }
}
  • 查询全部-ajax代码段:
<script type="text/javascript">
$(function(){
        $.ajax({
        url:"http://112.74.63.8:8081/api/v1/budding/getBuddings",
        type:"GET",
        dataType:'json',
        contentType:"application/json;charset=utf-8",
        success:function(data){
            //成功连接api接口
            if(data.status == "1000"){  
            //获取api接口传过来的数据
            var list = data.data.list;
            for(var i = 0; i < list.length; i++){
            var ids = list[i].id;
            var buddingname = list[i].buddingname;
            var address = list[i].address;
            var propertyunit = list[i].propertyunit;
            var region = list[i].region;
            var idsddd = ids;
            //输出格式并填充
            //1.复选框;2.数据库里的序号;3.楼宇名称;4.地址;5.产权单位;6.市;7.编辑按钮。
            //ajax里按钮只能用input属性。
            var tr = "" +
                "" + ""+ 
                "" + ids + ""+ 
                "" + buddingname + ""+
                "" + address + "" +
                "" + propertyunit + "" +
                "" + region +""+
                "" + ""+
                "";
            //将查得的数据每一条都插入到表格中  
            $("#tbMain").append(tr); 
            }
        }
    },
    error: function(content) {
        alert("失败");
    }
    }); 
});
</script>

实现效果:图1
Ajax-增删改查实现_第1张图片

二、Ajax-条件查询

简介 根据任何条件进⾏查询(如查询指定的楼宇名称等)。无分页显示
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/getBuddings
请求类型 GET
参数名 buddingname、address、propertyunit、region
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
示例1 http://localhost:8082/api/v1/budding/getBuddings?address=yyfffyy 这个表示查询楼宇地址为yyffyy的所有楼宇
示例2 http://localhost:8082/api/v1/budding/getBuddings?address=yyfffyy&buddingname=fff 这个表示查询楼宇地址为yyffyy并且楼宇名为fff的所有楼宇
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "OK",
    "data": {
        "list": [
            {
                "id": 1,
                "buddingname": 楼宇1,
                "address": "广东省广州市海珠区聚德中路87号",
                "propertyunit": 河南新乡拉斐国际1号楼A梯,
                "region": 广州市,
                "inserttime": null,
                "updatetime": null
            }
        ],
     }
}
  • 条件查询-ajax代码段:
<script type="text/javascript">
//搜查按钮
$("input[id='search']").click(function(){ 
    //清空table界面里的填充数据,但保留css样式及表头
    $("#dataTables tr:not(:first)").empty("");
    //编写url后缀格式
    var string_search;
    var string_search0 = "buddingname=";
    var string_search1 = "address=";
    var string_search2 = "propertyunit=";
    //获取搜索框的值
    var buddingname_ss = $('#buddingname_search').val();
    var address_ss = $('#address_search').val();
    var propertyunit_ss = $('#propertyunit_search').val();
    //判断搜索框的值是否为空
    if (buddingname_ss != '') {
            string_search = string_search0 + buddingname_ss;
    }
    if (address_ss != '') {
            string_search += "&" + string_search1 + address_ss;
    }
    if (propertyunit_ss != '') {
            string_search += "&" + string_search2 + propertyunit_ss;
    }

    $.ajax({ 
                url:"http://112.74.63.8:8081/api/v1/budding/getBuddings?"+string_search,
                type:"GET",
                dataType:'json',
                contentType: "application/json;charset=utf-8",

                success:function(data){
                    console.log(data);
                    console.log(data.msg);
                    if(data.status == "1000"){
                    //获取接口数据
                    var list = data.data.list;
                    for(var i = 0; i < list.length; i++){
                    var ids = list[i].id;
                    var buddingname = list[i].buddingname;
                    var address = list[i].address;
                    var propertyunit = list[i].propertyunit;
                    var region = list[i].region;
                    var idsddd = ids;
                    var tr = "" +
                        "" + ""+
                        "" + ids + ""+
                        "" + buddingname + ""+
                        "" + address + "" +
                        "" + propertyunit + "" +
                        "" + region +""+
                        "" + ""+
                        "";
                    //将查得的数据每一条都插入到表格中 
                    $("#tbMain").append(tr); 
                    }
                    }
                    }, 
                error: function(content) {
                    alert("失败");
                }
    });

});
</script>

实现效果:图2
Ajax-增删改查实现_第2张图片

三、Ajax-删除

简介 根据楼宇id删除楼宇,支持批量删除(也就是可以传入多个楼宇的id,用于删除)。无分页显示
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/deleteBudding
请求类型 GET
参数名 ids
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
示例1 http://localhost:8082/api/v1/budding/deleteBudding?ids=12&ids=13&ids=14 这个表述删除id为12,13,14的楼宇
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "楼宇删除成功",
    "data": null
}
  • 删除功能-ajax代码段:
<script type="text/javascript">
//删除按钮
$("input[id='delete_buildInfor']").click(function(){ 
        // 编辑url后缀格式
        var ids;
        var stringIds_1 = "ids=";
        var stringIds;

        // 获取复选框选定状态
        var checkboxs = document.getElementsByName("checkbox");
        for(i=0;i<checkboxs.length;i++){
            if(checkboxs[i].checked == true){
                ids = checkboxs[i].value;
                if (i == 0) {
                    stringIds =  stringIds_1 + ids;
                }else{
                    stringIds += "&" + stringIds_1 + ids;
                }
            }
        }
            $.ajax({       
                url:"http://112.74.63.8:8081/api/v1/budding/deleteBudding?"+stringIds,
                type:"GET",
                dataType:'json',
                contentType: "application/json;charset=utf-8",
                success:function(data){
                    console.log(data);
                    console.log(data.msg);

                    if(data.status == "1000"){
                        alert("删除成功!");
                        //重新刷新界面
                        window.location.href = "24buildingInformation.html"; 
                    }
                    else{
                        alert("删除失败,请重试!");
                    }
                },
                error: function(content) {
                    alert("失败");
                }
            });
}); 
</script>

实现效果:略

四、Ajax-修改

简介 根据楼宇id,获取楼宇信息。
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/getBudding/id
请求类型 GET
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
示例1 http://127.0.0.1:8082/api/v1/budding/getBudding/15 表示查询楼宇id为15的信息
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "OK",
    "data": {
        "id": 15,
        "buddingname": "fff",
        "address": "yyfffyy",
        "propertyunit": "sdfaads",
        "region": "hasdfasdfhhh",
        "inserttime": "2018-11-03 16:39:34",
        "updatetime": null
    }
}
简介 根据楼宇id,更新楼宇信息。
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/updateBudding
请求类型 POST
请求参数 其中id是必传项,表示需要更新的楼宇id,然后其他的参数为非必需传入的参数,也就是需要更新那项就传入更新的项即可
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "楼宇更新成功",
    "data": null
}
  • 更改功能-ajax代码段:
<script type="text/javascript">
//编辑按钮
$(document).on('click', '#edit', function () {
    //获取该行id,在此序号列为id值。
    var td_get = $(this).parents("tr").find("td");
    var id_get = td_get.eq(1).text();
    
    $.ajax({  
             url:"http://112.74.63.8:8081/api/v1/budding/getBudding/"+id_get,
             type:"GET",
             dataType:'json',
             contentType: "application/json;charset=utf-8",
             success:function(data){
            if(data.status == "1000"){
            
            //获取该id的所有属性值
            var id = data.data.id; 
            var buddingname = data.data.buddingname; 
            var address = data.data.address;
            var propertyunit = data.data.propertyunit;
            var region = data.data.region;
            
            //清空当前界面
            $("#dataTables").empty("");
            $("#jz").empty("");
            $("#ys").empty("");
            
            //将id的所有属性值,赋值到编辑界面,即可编辑的文本框中
            //disabled='disabled' 表示不可更改
            var text = "
" + "楼宇id:"+ "
"
+ ""+ "
"
+ "
"
+"楼宇名称:"+ "
"
+ ""+ "
"
+ "
"
+ "楼宇地址:"+ "
"
+ ""+ "
"
+ "
"
+ "楼宇产权单位:"+ "
"
+ ""+ "
"
+ "
"
+ "区域:"+ "
"
+ ""+ "
"
+ "
"
+ ""+ "
"
+ ""
; $("#light1").append(text); } }, error: function(content) { alert("失败"); } }); }); //在编辑界面,取消editTd编辑按钮 $(document).on('click', '#cancel_edit', function () { //此方法是自己写的,局部刷新页面,重新加载数据 window.location.href="24buildingInformation.html"; }); //在编辑界面,保存editTd编辑按钮 $(document).on('click', '#save_edit', function () { //获取编辑界面里,文本框内的值 var id_save = $("#id_edit").val(); var buddingname_save = $("#buddingname_edit").val(); var address_save = $("#address_edit").val(); var propertyunit_save = $("#propertyunit_edit").val(); var region_save = $("#region_edit").val(); var data= {id:id_save,buddingname:buddingname_save,address:address_save,propertyunit:propertyunit_save,region:region_save}; //输出当前td值 $.ajax({ type:"POST", contentType:'application/json;charset=UTF-8', url:"http://112.74.63.8:8081/api/v1/budding/updateBudding", //将值转换为api可接受的json格式 dataType:'json', data:JSON.stringify(data), success:function(data){ console.log(data); console.log(data.msg); if(data.status == "1000"){ alert("更新成功!"); window.location.href = "24buildingInformation.html"; } else{ alert("更新失败,请重试!"); } }, error: function(content) { alert("失败"); } }); }); </script>

实现效果:图3
Ajax-增删改查实现_第3张图片

五、Ajax-新增

简介 新增一条楼宇信息
ip http://112.74.63.8
端口 8081
请求路径 /api/v1/budding/insertBudding
请求类型 POST
参数名 buddingname、address、propertyunit、region
状态码定义 1000:请求正确响应;3000:请求出错;如程序出现异常,参数不正确等
  • 正确JSON示例:
{
    "status": 1000,
    "msg": "楼宇插入成功",
    "data": null
}
  • 新增功能-ajax代码段:
<script type="text/javascript">
//新增按钮
$("input[id='submit_message']").click(function(){
            //获取文本框内输入的值
            var buddingname = $.trim($("#buddingname").val());
            var address = $.trim($("#address").val());
            var propertyunit = $.trim($("#propertyunit").val());
            var region = $.trim($("#city").val());
            var data= {buddingname:buddingname,address:address,propertyunit:propertyunit,region:region};

            $.ajax({
                type:"POST",
                contentType:'application/json;charset=UTF-8',
                url:"http://112.74.63.8:8081/api/v1/budding/insertBudding",
                dataType:'json',
                data:JSON.stringify(data),

                success:function(data){
                    console.log(data);
                    console.log(data.msg);

                    if(data.status == "1000"){
                        alert("新增成功!");
                        window.location.href = "24buildingInformation.html"; 
                    }
                    else{
                        alert("新增失败,请重试!");
                    }

                },
                error: function(content) {
                    alert("失败");
                }
            });
        });
</script>

实现效果:图4
Ajax-增删改查实现_第4张图片

六、前端html主要代码

  • 搜查文本框代码&及table代码
<div id="jz">
                            <label>楼宇名称label>
                            <input id="buddingname_search" name="buddingname_search" type="text" >

                            <label>楼宇地址label>
                            <input id="address_search" name="address_search"  type="text" >

                            <label>楼宇产权公司label>
                            <input id="propertyunit_search" name="propertyunit_search"  type="text">

                            <input type="button" id="search"  value="查询">
                            //弹窗函数
                            <input type="button" id="delete_buildInfor" value="删除">
                            
div>
                       
<div class="panel-body">
                            <div class="table-responsive">
                                <table class="table table-striped table-bordered table-hover" id="dataTables">

                                    <thead id="thead1">
                                        <tr>
                                            <th>选择th>
                                            <th>序号th>
                                            <th>楼宇名th>
                                            <th>地址th>
                                            <th>产权th>
                                            <th>区域th>
                                            <th>编辑th> 
                                        tr>
                                    thead>
                                    <br>
                                    <tbody id="tbMain">tbody>
                                table>
                            div>
                            <div id="light1">div> //弹窗
div>
  • 弹窗代码
//前端代码
//注意:放到<body>body>里,不要影响主界面的响应。
<div id="light" class="white_content">
    <form role="form">
                                        <div class="form-group">
                                            <label>楼宇名称label>
                                            <input class="form-control" id="buddingname" type="text" name="buddingname">
                                        div>
                                        <div class="form-group">
                                            <label>楼宇地址label>
                                            <input class="form-control" id="address" type="text" name="address">
                                        div>                                
                                        <div class="form-group">
                                            <label>产权公司label>
                                            <input class="form-control" id="propertyunit" type="text" name="propertyunit">
                                        div>
                                        <div class="form-group">
                                            <label>区域label>
                                            
                                        div>

    form>
    div> 
/*弹窗css */
div.white_content { 
            display: none; 
            position: absolute; 
            top: 25%; 
            left: 25%; 
            width: 55%; 
            height: 55%; 
            padding: 20px; 
            border: 10px solid gray; 
            background-color: white; 
            z-index:1002; 
            overflow: auto; 
} 
//弹窗的跳出及关闭函数
<script type="text/javascript">
        $(function(){
        })
        function openDialog(){
            document.getElementById('light').style.display='block';
            //document.getElementById('fade').style.display='block'
        }
        function closeDialog(){
            document.getElementById('light').style.display='none';
            //document.getElementById('fade').style.display='none'
        }
</script>
  • 省市下拉菜单
  1. 设置初始值
<body onload="initCities('直辖市','北京')">body>
  1. 调用js函数
/*参考‘六,弹窗代码’*/