NodeJS 带参数的路由被调用两次?

ryoqjall  于 2023-06-22  发布在  Node.js
关注(0)|答案(2)|浏览(153)

我正在通过ExpressJS创建NodeJS Web应用程序。我有以下两条路线(除其他外):

app.get('/user/reset/verify', function(req, res) {
    console.log("Executing verification index.");
    res.render("verify/index");
});

app.get('/user/reset/verify/:email/:token', function(req, res) {
    console.log("Executing verification change.");
    res.render("verify/change");
});

当我转到验证索引页面时,我看到控制台上打印了一次“Executing verification index.”。但是,当我转到验证更改页面时,我看到“执行验证更改”在控制台上打印了两次。
我注意到这是我的应用程序中的路线的一个趋势。包含参数的路由总是执行两次,而没有参数的路由只(正确地)执行一次。

为什么带参数的路由会执行两次?

正在呈现的视图只包含简单的HTML -没有任何内容会导致对页面的另一个请求。此外,我从Chrome浏览器发出这些请求。
平台/版本:

  • NodeJS:0.5.5 windows build(在Win 7上运行)
  • 快递:2.4.6
  • 连接:1.7.1
vfhzx4xs

vfhzx4xs1#

第二个请求是/favicon.ico尝试在http_server请求处理程序中控制台记录你的request.url,你会看到第一个是浏览器url,下一个是favicon。

woobm2wo

woobm2wo2#

如果您使用Chrome:当你写你的网址时,chrome在你按回车键之前发送一个get请求来检查网址。
试着记录中间件的url console.log(req.url),把你的控制台放在你的浏览器旁边,然后开始写url,你会看到控制台记录一个get access。

相关问题