response.redirect(' route')使该路由的所有中间件在express中再次运行

时间:2017-11-24 05:43:15

标签: node.js express

response.redirect('route')是否会使该路由的所有中间件再次运行?

response.redirect('route')

就像客户向服务器发出新请求一样?

1 个答案:

答案 0 :(得分:0)

是的,确实如此 实际上,当重定向发生时,在302 found响应之后,客户端无论如何都会在重定向的URL上发出请求。

示例:

app.use('/some/route', (req, res, next) => {
  console.log('some middleware')
  next()
})

app.get('/some/route', (req, res) => {
  res.end()
})

app.get('/', (req, res) => {
  res.redirect('/some/route')
})

测试:

$ curl -L yourdomain.com/    // -> some middleware