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

我正在通过ExpressJS创build一个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"); }); 

当我进入validation索引页面时,看到“执行validation索引”。 在控制台上打印一次。 但是,当我进入validation更改页面时,我看到“执行validation更改”。 在控制台上打印两次。

我注意到,这是我的应用程序中的路线的趋势。 包含参数的路由总是被执行两次,而没有参数的路由只被(正确)执行一次。

为什么参数路由被执行两次?

正在呈现的视图只包含简单的HTML – 不会导致对页面的另一个请求。 另外,我正在从Chrome浏览器发出这些请求。

平台/版本:

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

第二个请求是/favicon.ico尝试在您的http_server请求处理程序中logging您的request.url,您将看到第一个是浏览器url和下一个favicon。

如果你正在使用chrome:当你写你的url chrome发送一个get请求来检查url之前,你input。

尝试logging中间件的urlconsole.log(req.url)将您的控制台放在您的浏览器旁边,然后开始写入URL,您将看到控制台logging一个获取访问权限。