res.location()方法有什么用?我可以使用res.redirect()重定向到特定的URL,如果我在res.redirect()
之前使用res.location(),我看不到任何变化答案 0 :(得分:33)
他们的描述非常相似,但其中一个做得更多。查看差异的最简单方法是查看the source。
res.location
只设置响应标头。它没有设置响应状态代码或关闭响应,因此您可以根据需要编写响应正文,然后必须自己调用res.end()
。
res.redirect
将状态设置为302,设置标题(使用res.location
)并发送一个好的响应正文,说明用户正在被重定向,并在他们的浏览器中呈现链接由于某种原因,它们不会自动重定向它们。
答案 1 :(得分:0)
有点离题,但值得一提的是,如果您要添加 res.redirect,记住重定向的类型是一件好事。 301 vs 302 正如 loganfsmyth 所说,res.redirect 默认将状态设置为 302,但这是糟糕的 SEO。要更改 res.redirect 的状态代码,请添加 301 然后重定向到的路由。
前-> res.redirect(301, 'new-page');