2013-02-28 40 views
1

在服務器端:的Node.js:methodOverride不起作用

var express = require('express'); 
var app = express(); 
app.listen(8000); 

app.configure(function(){ 
    app.use(express.methodOverride()); 
}); 

app.put('/update', function (req, res) { 
    res.send("update!"); 
}) 

我想測試put方法

在客戶端:

<form action="/update"> 
    <input type="hidden" name="_method" value="put"/> 
    <input type="submit" value="submit"> 
</form> 

但結果是

Cannot GET /update?_method=put 

那麼,什麼是我的代碼錯了?

回答

2

您需要包括bodyParser中間件太:

app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
1

你有一個錯字:/upadte應該是/update

編輯:嘗試在您的表單標記中使用method="post"

+0

我有正確的'update',但它仍然不能正常工作,如上 – hh54188 2013-02-28 14:37:05

+0

還編輯介紹,檢查出一個新的提示:) – Greg 2013-02-28 14:39:07

+0

不,還是不行 – hh54188 2013-02-28 14:41:26