zoukankan      html  css  js  c++  java
  • Express中aixos请求的(批量)删除用POST方法,其它请求的(批量)删除可以用DELETE方法

    axios请求:

    前端:home.jsxconst params = {

                    idArr: JSON.stringify(this.state.selectedRowKeys)
                }
    
                const _this = this;
    
                axios.post(`http://localhost:5555/api/delete_blogs`, qs.stringify(params)).then((resp) => {
                    if (resp.data.ret) {
                        notification['success']({
                            message: '成功提示',
                            description: resp.data.msg,
                        })
                        _this.getData(0, 5);
                    } else {
                        notification['error']({
                            message: '错误提示',
                            description: resp.data.msg,
                        })
                    }
                }, (err) => {
                    notification['error']({
                        message: '错误提示',
                        description: '网络错误,删除失败!'
                    })
                });
    后端:main.js
    app.post("/api/delete_blogs", (req, res) => {
        let obj = {
            ret: false,
            msg: ""
        }
    
        var idArr = JSON.parse(req.body.idArr);
    
        for(let i = 0; i<idArr.length; i++){
            connection.query(`DELETE FROM blog WHERE id='${idArr[i]}'`, (error, results, fields) => {
                if(!error){
                    obj.ret = true;
                    obj.msg = "删除成功!";
                    res.header("Access-Control-Allow-Origin", "*");
                    res.type('application/json');
                    res.jsonp(obj);
                }else{
                    next(error);
                }
            })
        }
    })
    普通的请求:

    前端:

    function deleteBackupTask(id){
        alertify.confirm('确定删除吗?', function (e) {
            if (e) {
                // delete begin,asyncAjax是一个封装Jquery的Promise
                tool.asyncAjax('/api/delete_backup_task', 'DELETE', {id:id}).then(result => {
                    if (result.ret) {
                        toastr.success(result.msg, "成功提示");
                        $backupTaskTable.bootstrapTable("refresh");
                    } else {
                        toastr.error(result.message, "错误提示");
                    }
                }).catch(error => {
                    console.log(error);
                })
                // delete end
            } else {
                // user clicked "cancel"
            }
        });
    }

    后端: 

    // 删除
    app.delete("/delete", (req, res) => {
        var dataObj = { ret: false, msg: "" };
    
        var idArr = JSON.parse(req.body.userIdArr);
    
        fs.readFile("./file/obj.txt", function (error, data) {
            if (!error) {
                var userArr = JSON.parse(data);
    
                for (var i = 0; i < userArr.length; i++) {
                    for (var n = 0; n < idArr.length; n++) {
                        if (userArr[i].id === idArr[n]) {
                            userArr.splice(i, 1);
                        }
                    }
                }
    
                fs.writeFile("./file/obj.txt", JSON.stringify(userArr), function (error, data) {
                    if (!error) {
                        dataObj.ret = true;
                        dataObj.msg = "删除用户成功!";
                        res.json(dataObj);
                    } else {
                        dataObj.msg = "写入文件失败!";
                        res.json(dataObj);
                    }
                })
            } else {
                dataObj.msg = "读取文件失败!";
                res.json(dataObj);
            }
        })
    })
  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/samve/p/14264417.html
Copyright © 2011-2022 走看看