我正在通过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");
});

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

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

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

呈现的 View 仅包含简单的HTML-不会导致对该页面的另一个请求。另外,我是从Chrome浏览器发出这些请求的。

平台/版本:
  • NodeJS:0.5.5 Windows构建(在Win 7上运行)
  • Express:2.4.6
  • 连接:1.7.1
  • 最佳答案

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

    关于node.js - 具有参数的路由被调用两次?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7479188/

    10-09 17:43