2016-05-14 61 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。