Javascript express.js中的客户端DEL请求
我正在尝试用express.js设置一个简单的RESTAPI。无法从客户端实现删除功能 路线:Javascript express.js中的客户端DEL请求,javascript,rest,express,Javascript,Rest,Express,我正在尝试用express.js设置一个简单的RESTAPI。无法从客户端实现删除功能 路线: module.exports = function(server) { server.get('/entries/:id', entries.get) // working server.del('/entries/:id', entries.destroy)// not working } 我有一个像这样设置的虚拟删除按钮(使用handlebar.js): 我的express配置文
module.exports = function(server) {
server.get('/entries/:id', entries.get) // working
server.del('/entries/:id', entries.destroy)// not working
}
我有一个像这样设置的虚拟删除按钮(使用handlebar.js):
我的express配置文件中还设置了methodOverride()
发布此代码。它不是一个配置文件。它是对中间件功能顺序高度敏感的代码。特别是,确保
bodyParser
位于app前面的methodOverride
之前。路由器
DEL
应该是DELETE
:
<input type='hidden' name='_method' value='DELETE' />
是的,我想,“配置文件”是个错误的术语。它是我进行所有express配置的文件。我刚刚检查了一下,我肯定是按照正确的顺序调用了你提到的函数。哦,伙计,就是这样。现在我有了那个程序员的自责,因为他花了很多时间在一个琐碎的解决方案上拖延。但是谢谢!!
app.configure(function() {
app.use(function(req, res, next) {
res.locals.pkg = pkg
next()
})
app.use(express.favicon())
var rootPath = path.normalize(__dirname + '/..')
var basePath = path.normalize(__dirname + '/../..')
app.use(express.static(rootPath + '/public'))
app.use(express.static(basePath + '/backbone/'))
app.set('views', __dirname + '/../../static')
app.engine('hbs', exphbs({
defaultLayout: 'main',
extname: '.hbs',
partialsDir: '../static',
layoutsDir: '../static/layouts'
}))
app.set('view engine', '.hbs')
app.use(express.cookieParser())
app.use(express.bodyParser())
app.use(express.methodOverride())
app.use(express.session({
secret: 'aekugwieufgkdjfhaisuefhwijfeijf',
store: new RedisStore({host:'localhost', port: 6379, client: redis })
}))
app.use(function(req, res, next) {
res.locals.csrf_token = req.session._csrf
next()
})
if (process.env.NODE_ENV !== 'test') {
app.use(express.csrf())
}
app.use(app.router)
})
}
<input type='hidden' name='_method' value='DELETE' />