gpt4 book ai didi

javascript - 在 jquery 中全局限制 $.ajax 请求

转载 作者:行者123 更新时间:2023-11-30 09:34:06 25 4
gpt4 key购买 nike

有没有一种方法可以通过 $.ajaxSetup 来限制请求,这样在 Y 秒内 X 次请求之后的任何事情都不会发生,直到时间过去,这样限制可以自行重置?我知道我可以使用 jquery throttle ,但我正在寻找一种全局方式来影响所有 $.ajax$.get$.post

例如,我可能会设置在 5 秒内只允许 20 个请求。在第 21 个请求上,我将有一个错误处理程序来显示一条消息。每 5 秒计数器将重新开始,以便他们可以再次发出请求。

最佳答案

这是一种对限制所有 ajax 请求进行评级的方法。您可以在 MS 中定义一个速率限制间隔以及在给定时间段内允许多少请求。

var RATE_LIMIT_IN_MS = 100;
var NUMBER_OF_REQUESTS_ALLOWED = 2;
var NUMBER_OF_REQUESTS = 0;

setInterval(function()
{
NUMBER_OF_REQUESTS = 0;

}, RATE_LIMIT_IN_MS);

$.ajaxSetup ({
beforeSend: function canSendAjaxRequest()
{
var can_send = NUMBER_OF_REQUESTS < NUMBER_OF_REQUESTS_ALLOWED;
NUMBER_OF_REQUESTS++;
return can_send;
}
});

关于javascript - 在 jquery 中全局限制 $.ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44597253/

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