我有一个 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/