1. 程式人生 > 實用技巧 >Express中aixos請求的(批量)刪除用POST方法,其它請求的(批量)刪除可以用DELETE方法

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);
        }
    })
})