gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 00:16:47 24 4
gpt4 key购买 nike

使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com