• 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);
            }
        })
    })
  • 相关阅读:
    Java的错误类型
    交换两个变量的值
    变量的自增、自减、自乘、自除运算
    通过Scanner从控制台获取数据
    通过args数组获取数据
    int类型与char类型的转换
    大类型向小类型转换
    小类型向大类型转换
    6 高级2 自连接 视图
    5 高级 关系 连接
  • 原文地址:https://www.cnblogs.com/samve/p/14264417.html
Copyright © 2020-2023  润新知