Node.js Express DELETE 路由不起作用

标签 node.js express routes

尝试删除项目时返回:cannot GET/posts

routes.js

app.delete('/posts/:id', function(req, res){
    console.log("Deleting");
    Post.findById( req.params.id, function ( err, post ){
        post.remove( function ( err, post ){
            res.render('posts.ejs');
        });
    });
});

posts.ejs

<% posts.forEach( function( post ){ %>
                <p><%= post._id %></p>
                <p><%= post.title %></p>
                <p><%= post.content %></p>
                <a href="/posts/<%= post._id %>" method='delete'>Delete</a>
            <% }); %>    

任何指示将不胜感激:)谢谢

最佳答案

HTML a 元素没有 method 属性。检查legal attributes list 。这意味着链接始终是 GET

如果您想使用浏览器发送 DELETE 请求,您唯一的选择是使用 ajax

关于Node.js Express DELETE 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22865214/

相关文章:

php - 如何在 Laravel 中按域对路由进行分组

node.js - 为什么以及如何将 secret 放入 Node.js 的环境变量中?

mysql - Sequelize updateAttributes 在 socket.on( 'disconnet' ) 中不起作用

html - 无法加载资源(css/js)AWS Lambda Express Node

node.js - PassportJS 认证标志波动

node.js - Expressjs + Handlebars 格式化日期

node.js - 快速路由 "/"

algorithm - 最小长度路由的最大容量

javascript - 发送 json 对象或使用快速路由渲染 View

mysql - 将 Angular 应用程序连接到服务器