ajax

121 阅读1分钟

#ajax的使用案例和接口的使用

##图书管理案例

****1首先封装一个自定义函数 采用get 获取图书的列表数据

****2在使用each把获取过来的data里面的数据进行遍历 动态添加tr td

****还要把表格里面的tbody的结构清空然后把新添加的tr `td追加到tbody里面`
```我们还可以进行增添删除操作
```1删除操作:.通过代理的方式为动态添加的元素绑定点击事件 给a添加w3c的属性方法 data-id
声明一个变量接收 同attr返回被接收的元素
2.添加:同时给添加按钮绑定一个点击事件,声明变量接收三个input里面的值
同时使用post发起提交请求,把声明的变量提交到接口,同时需要给这个点击函数做一个判断条件,里面的值不能小于或者等于零
$(function () {
            //获取图书列表数据
            function getBookList() {
                $.get('http://www.liulongbin.top:3006/api/getbooks', function (res) {
                    console.log(res);
                    var rows = []

                    $.each(res.data, function (i, item) {
                        rows.push('<tr><td>' + item.id + '</td><td>' + item.bookname + '</td><td>' + item.author + '</td><td>' + item.publisher + '</td><td> <a href="javascript:;" class="del" data-id="' + item.id + '">删除</a></td></tr>')
                        // var index = i;
                        // var item1 = item;
                        // var one = item.bookname;
                        // console.log(one);
                        // // console.log(item1);
                        // // console.log(index);
                    })
                    $('#tb').empty().append(rows.join(''))
                })
            }
            getBookList();
            //通过代理方式为动态添加的元素绑定点击事件
            $('#tb').on('click', '.del', function () {
                var id = $(this).attr("data-id")
                // console.log(id);
                $.get('http://www.liulongbin.top:3006/api/delbook', { id: id }, function (res) {
                    if (res.status !== 200) return alert('删除失败')
                    getBookList();
                })

            })
            $('#btnAdd').on('click', function () {
                var bookname = $('#iptBookname').val().trim()
                var author = $('#iptauthor').val().trim()
                var publisher = $('#iptpublisher').val().trim()
                if (bookname.length <= 0 || author.length <= 0 || publisher.length <= 0) {
                    return alert('请输入完整的内容')
                }
                // alert('您输入的正确')
                $.post('http://www.liulongbin.top:3006/api/addbook', { bookname: bookname, author: author, publisher: publisher }, function (res) {
                    if (res.status !== 201) return alert('添加图书失败')
                    getBookList();
                    $('#iptBookname').val()
                    $('#iptauthor').val()
                    $('#iptpublisher').val()
                })
            })
        })

- ```