app.get('/', function (req, res) {
mongoose.connect('mongodb://localhost/todo-list')
Todo.find({completed: false}, function (err, todos) {
if (err) throw err
res.render('homepage', {
allTodos: todos
})
mongoose.disconnect()
})
})
//
app.post('/create', function (req, res) {
// console.log(req.body)
// res.send(req.body)
todosController.create(req, res)
})
app.get('/listall', function (req, res) {
res.redirect('/listall')
todosController.list(req, res)
})
// and below is my controller
function list (req, res) {
if (!mongoose.connection.db) mongoose.connect('mongodb://localhost/todo-list')
Todo.find({}, function (err, todos) {
if (err) throw err
res.render('listall', {
allTodos: todos
})
mongoose.disconnect()
})
}
谁能告诉我如何修复这个>.< express显示的错误“发送后无法设置标题”。在ServerResponse.setHeader (_http_outgoing.js:371:11)
发布于 2017-04-09 01:38:22
您的函数todosController.list(req, res)似乎也有一个res.send/res.redirect ...方法。但是您只能发送一次响应,所以如果有其他are的话。方法在你的请求流中,你会得到这个错误。
您可以将用户从您的todosController.list方法重定向,并从此处的app.get('/listall', function (req, res) { res.redirect('/listall') todosController.list(req, res) })中删除它
但要注意不要发送res。在单个请求中不止一次。流。
https://stackoverflow.com/questions/43295943
复制相似问题