首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >快速重定向错误无法在发送后设置标头

快速重定向错误无法在发送后设置标头
EN

Stack Overflow用户
提问于 2017-04-08 23:29:29
回答 3查看 2.5K关注 0票数 0

代码语言:javascript
运行
复制
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)

EN

回答 3

Stack Overflow用户

发布于 2017-04-09 01:33:26

问题来自于尝试向用户发送两次请求(通过呈现和重定向),此处:

代码语言:javascript
运行
复制
app.get('/listall', function (req, res) {
    res.redirect('/listall')
    todosController.list(req, res)
})

您将用户重定向到listall视图,但随后您调用了list方法,该方法尝试在此处呈现另一个页面:

代码语言:javascript
运行
复制
res.render('listall', {
  allTodos: todos
})

您必须决定是将用户重定向到页面,还是将其呈现给他,并删除上面的其中一个。

票数 1
EN

Stack Overflow用户

发布于 2017-04-09 00:08:20

您只需删除此行,您的/listall路由就会正常工作:

代码语言:javascript
运行
复制
res.redirect('/listall')
票数 0
EN

Stack Overflow用户

发布于 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。在单个请求中不止一次。流。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43295943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档