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

Ste*_*ins 9 connect node.js express

我正在通过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");
});
Run Code Online (Sandbox Code Playgroud)

当我进入验证索引页面时,我看到"执行验证索引".在控制台上打印一次.但是,当我转到验证更改页面时,我会看到"执行验证更改".在控制台上打印两次.

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

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

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

平台/版本:

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

小智 17

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