不能GET / POST?快递错误?

时间:2016-05-14 21:53:39

标签: node.js express web get

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

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);

现在当我尝试访问localhost:3000时,一切都很好,在index.ejs中我有一个简单的表单,输入名称为mname,我在输入框中输入一个名字然后按回车我得到这个错误

Cannot GET /POST?mname=a

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

尝试了其他问题,表示4个用户"路由器"对于路由,试过但也失败了。

2 个答案:

答案 0 :(得分:1)

您没有将ejs文件包含在您要提交的表单中,但是从您收到的错误中看来,您似乎没有执行POST请求,而是GET请求路径{ {1}}。这是完全不同的事情。

我想在表格中你有类似的东西:

/POST

但你需要这样的东西:

 <form action='POST'>

答案 1 :(得分:1)

我遇到了类似的问题,我解决了这个问题,因为我忘了将app.get包含在我/ post链接中。