打开chrome开发人员工具时的双重请求

ada*_*aly 7 javascript google-chrome node.js express google-chrome-devtools

我有一个奇怪的问题,我有一个非常简单的节点/ 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');
})
Run Code Online (Sandbox Code Playgroud)

很简单.任何时候请求其中一条路线'i'递增并记录,并且它工作正常,除非chrome dev工具打开.当dev工具打开时,请求登录或测试将被请求两次.这是日志的结果:

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
Run Code Online (Sandbox Code Playgroud)

这里发生了什么.这是Chrome的错误吗?

亚当

ben*_*pps 9

这是chrome的一个半已知问题.

Google在这里讨论了可能的解决方法 - 我还没有找到真正的解决方案,但这应该会给你一个良好的开端.

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

  • 2018年8月,仍未修复。幸运的是,经过5分钟的奋斗,我才看到了这个:) (2认同)
  • 现在是 2021 年,我只有一张图片遇到这个问题! (2认同)