铬开发工具打开时的双重请求

我有一个奇怪的问题,我有一个非常简单的节点/ expressjs应用程序(我有一个更复杂的,但这个简单的例子显示的问题)。 这个应用程序有三个路线如下所示:

var i = 0; app.route('/login') .get(function(req, res){ console.log('login', ++i); res.send('login'); }) app.route('/test') .get(function(req, res){ console.log('test', ++i); res.send('test'); }) app.route('/') .get(function(req, res){ console.log('index', ++i); res.send('index'); }) 

很简单。 任何时候这些路由之一被请求'我'是递增和logging,并且它工作正常,除非当开发工具是开放的。 当开发工具打开请求login或testing将被要求两次。 这里是日志的结果:

 15:45:30 web.1 | index 1 15:45:33 web.1 | login 2 15:45:34 web.1 | login 3 15:45:37 web.1 | test 4 15:45:37 web.1 | test 5 15:45:41 web.1 | login 6 15:45:42 web.1 | login 7 15:45:45 web.1 | test 8 15:45:45 web.1 | test 9 15:45:48 web.1 | index 10 

这里发生了什么。 这是一个Chrome的错误?

亚当

这是一个铬的半知名问题。

Google在这里讨论了可能的解决方法 – 我还没有find一个真正的解决scheme,但这应该给你一个良好的开端。

https://code.google.com/p/chromium/issues/detail?id=64810