javascript - Nodejs、 express 、Ajax : Function triggers only Six Times

标签 javascript jquery node.js ajax

使用 nodejs 和 express 我正在尝试触发一个包含简单控制台日志的 js 函数。可悲的是,该功能只触发了 6 次并卡住了一段时间。一两分钟后,所有在“卡住时间”期间单击的按钮都会立即触发。它总是在按下按钮 6 次后发生。

index.html -> 按钮
客户端 -> 触发 Ajax post 函数的 jquery 函数
server.js -> 包含触发控制台日志的 express 函数

index.html

<input type="button" id="car" value="drive"/>

客户端.js

$('#car').click(function(){

   $.ajax({
      type:'POST',
      url: url + '/drive'
   });

});

服务器.js

var app = express();

app.post('/drive', function(req, res){

   console.log('Car starts driving');

});

我做错了什么?有什么改进代码的技巧吗?

谢谢

最佳答案

您的服务器需要响应请求。尝试将您的服务器更新为:

var app = express();

app.post('/drive', function(req, res){

   console.log('Car starts driving');
   res.sendStatus(200)

});

这将为所有请求返回 200 OK。

为什么在 6 个请求后会出现这种情况?我猜您使用的是 Chrome 或 Firefox。 Chrome 和 Firefox 只允许最多 6 个并发请求到单个服务器。一旦达到 6,浏览器将对剩余的请求进行排队。

您看到它在一段时间后自行修复的原因是请求超时。一旦请求超时(因为没有收到响应),浏览器将关闭连接。

每个主机的浏览器并发请求限制 - https://stackoverflow.com/a/985704/4774345

关于javascript - Nodejs、 express 、Ajax : Function triggers only Six Times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307792/

相关文章:

javascript - 在react中使用redux形成

javascript - 图未呈现 - Dagre-d3

javascript - iframe 的假用户代理

javascript - Ajax文件上传仅获取filelist数组中的第一个文件进行上传

javascript - 创建的 DIV 内的链接导致悬停时删除了 div

node.js - Passport -facebook-token 与 Passport -facebook

javascript - 在 Node.JS 中读取 AJAX 发布变量(使用 Express)

javascript - 如何使用 AddThis 小部件提高页面加载速度?

jquery - 阅读更多/更少 jQuery Accordion

javascript - 发送一些输入后如何获取输入框的文本值?