javascript - 当没有返回响应时,nodejs 或 expressjs 正在重复调用路由

标签 javascript node.js express

我正在使用 expressjs。我的问题是,如果出于某种原因我没有提供响应,则会再次调用路由。在 Firebug 中,请求的状态将是“待定”。最终,在第二次调用路由后,我得到了一个响应 ERR_EMPTY_RESPONSE

这是一个简单的测试:

// main.html
<html>
<body>
    <span>test</span>
</body>
</html>
<script>
    $.get("/test");
</script>

// app.js
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));


app.get('/test', function(req, res) {
    console.log("I'm called");
});

http.listen(3000, function() {
    console.log('Express started');
});

当您 GET 到路线时,您会看到 I'm called,然后在大约 15-20 秒后再次看到。

似乎 Express 或 Node 以某种方式导致路由第二次运行。为什么会这样?如何预防?

编辑:做了一个简单的测试来演示问题。

最佳答案

这可能不是大多数人的解决方案,但我正在使用 create-react-app 构建的网站上工作,并且我在两个选项卡中打开了该应用程序。出于某种原因,这导致了 express 方面的重复请求,即使我只与一个选项卡进行交互也是如此。

奇怪,但关闭第二个选项卡解决了问题。

关于javascript - 当没有返回响应时,nodejs 或 expressjs 正在重复调用路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725052/

相关文章:

javascript - 如何用 express 发送102处理?

javascript - TypeError : response. 重定向不是函数

javascript - 如何理解 "{} == true"这个表达式?

javascript - useSelector() 显示了 promise ,而不是来自商店的更新值

javascript - 创建 Node.JS 模块

node.js - 我真的需要代理来处理 Node.js 吗?

Javascript - 远程访问node.js应用程序

javascript - 许多使用 javascript 对 API 的查询,其中一些得到 403

javascript - 我可以使用 NodeGit 从特定提交中获取加法和减法吗?

javascript - 使用 jasmine 进行测试时出现未处理的 promise 拒绝错误