2016-05-14 42 views
2

我有一个非常简单的快递代码现在无法GET/POST?快递中的错误?

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我有一个简单的形式与具有名字MNAME一个输入,焕我打一个名字在输入框中,然后按回车我得到这个错误

Cannot GET /POST?mname=a 

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

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

回答

1

你不包括与您要提交表单的EJS文件,而是从错误你看来你是不是做POST请求,而是一个GET请求路径/POST。这是完全不同的事情。

我在表格猜你碰到这样的:

<form action='POST'> 

,而是你需要的东西,如:

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

我只是有一个类似的问题,我解决了它,因为我忘了,包括my/post链接的app.get。