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