不能GET / POST? 在expression错误?

我有一个非常简单的快速代码

var express = require("express"); var bodyParser = require("body-parser"); var http = require("http"); var path = require("path"); var app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.set("views",path.resolve(__dirname,"views")); app.set("view engine","ejs"); app.get("/",function(req,res){ res.render("index"); }); app.post('/', function(req, res) { console.log("posted!"); res.render("final"); }); http.createServer(app).listen(3000); 

现在,当我尝试访问本地主机:3000一切都加载好,在index.ejs我有一个简单的forms与input名称mname,whan我在input框中命名,然后按Enter我得到这个错误

 Cannot GET /POST?mname=a 

我在代码中定义了一个app.post,并要求它呈现final.ejs。 那么代码出错了?

试过其他问题,说快递4个用户“路由器”进行路由,尝试过,但也失败了。

你没有包含你想要提交的表单的ejs文件,但是从你得到的错误看来你没有做POST请求,而是一个GET请求到path/POST 。 这是完全不同的事情。

我想你的forms是这样的:

  <form action='POST'> 

但是你需要这样的东西:

 <form action='/' method='POST'> 

我刚刚有一个类似的问题,我解决了这个问题,因为我忘了包含我的/ post链接的app.get。