我有一个简单的 node .js/express.js/mongodb应用程序在这里设置,我的配置如下.
var express = require('express'),
mongoose = require('mongoose');
http = require('http');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
//middleware stack
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + "/public"));
});
mongoose.connect("mongodb://localhost/hello");
问题在于,当我试图发出PUT或DELETE请求时.我的表格很简单
<form method="POST" action="/users/#{user.name}">
<input type="hidden" name="_method" value="PUT"/>
</form>
现在我的路由赶上了快车的路由.put()方法
app.put('/users/:name', function(req, res) {
var b = req.body;
Users.update(
{ name: req.user.name },
{ name: b.name, age: b.age, email: b.email },
function(err) {
res.redirect('/users/'+b.name);
});
})
当我提出请求时,我只会得到一个"不能放"或"不能删除"错误.
我曾try 通过chomes RESTful客户端提出同样的请求,结果也是一样的.
我读过一个和我有同样问题的话题,尽管下面的 comments 并没有解决我的问题.
我调查过的问题
Are the PUT, DELETE, HEAD, etc methods available in most web browsers?
以及其他一些人.
感谢您的帮助.