node.js - Express.js CRUD 应用程序无法删除

标签 node.js mongodb express mongoose

我有一个 CRUD Express.js Web 应用程序。当我应用 Delete 方法时,出现 404 未找到错误。

在 app.js 文件中

var campagnes = require('./routes/campagnes');
app.use('/campagnes', campagnes);

在 routes/campagnes.js 文件中

var express = require('express');
var router = express.Router();
var campagne_controller = require('../controllers/campagneController');

router.delete('/delete/:id', campagne_controller.campagne_delete);

//In Controllers/campagneController.js file 

var Campagne = require('../models/campagne');

exports.campagne_delete = function(req,res){


    Campagne.findById(req.params.id)
        .exec(function(err, row){
            if (err) {
                var errornya  = ("Error Selecting : %s ",err );
                req.flash('msg_error', errornya);
                res.redirect('/campagnes');
            }
            else
            {
                if(row == [])
                {
                    req.flash('msg_error', "Campagne can't be find!");
                    res.redirect('/campagnes');
                }
                else
                {
              // I don't delet but just change campagne status to annulee
                     row.status = 'annulee';
                    // Success - go to campagne list
                    req.flash('msg_info', 'La campagne a été marquée comme annulée');
                    res.redirect('/campagnes');
                }
            }
        });
}

在 views/campagne/list.jade 文件中

p.text-right
    a.text-right(href='/campagnes/delete/#{campagne._id}')
         | Annuler la campagne
hr

当我在 list.jade View 中单击我的链接时,出现 404 Not Found 错误,我不知道为什么。我试图找出我的代码是否有错误,但我没有发现任何错误

最佳答案

您没有将请求作为 DELETE 方法发送。您正在使用 a 标签,因为标签使用 GET 方法。如果您想要DELETE,您应该使用ajax 调用。

关于node.js - Express.js CRUD 应用程序无法删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170351/

相关文章:

node.js - BlueMix websocket - VCAP_APP_PORT 错误 EADDRINUSE

javascript - 如何使用rest api的动态查询

javascript - node.js 和单页 Web 应用程序

node.js - Swift + ios 9,发送带有base64图像数据的post数据

javascript - 复杂键 - 按第一个键过滤并仅按第二个键排序

javascript - 用于 firebase 的 node.js 中的 messaging() 问题

node.js - 在 Mongoose 中,如何聚合数组中的引用?

java - 在 Spring-Boot 中,我们如何在同一个项目中连接两个数据库(Mysql 数据库和 MongoDB)?

python - 为什么使用 update_one 更新记录会引发 ValueError?

node.js - 将数据从两个模型发送到 View