如果正在进行相同的请求,则跳过AJAX函数
Skip AJAX function if the same request is being made
我在JavaScript函数中有AJAX请求。使用setInterval函数,AJAX函数每5000ms执行一次。
我想知道是否有一种方法可以检查以前的AJAX调用是否仍在处理,这样我就不会有多个相同的AJAX请求。
这是我的代码:
function getData(fields){
$.ajax({
url: 'index.php',
type: 'post',
data: { fields: fields },
dataType: 'json',
success: function(json) {
if (json) {
// We have a response
}
});
}
window.setInterval(function(){
getPosts(fields);
}, 2000);
提前感谢!
Peter
var req;
制作一个我们可以在函数范围之外访问的变量。
function getData(fields) {
req = $.ajax({...});
将变量分配给ajax请求
setInterval(function() {
if (req.state() == 'resolved' && req.state() !== 'pending') {
getPosts(fields);
}
});
检测.state()
试试这个:
var getDataRequest = null;
function getData(fields) {
if (getDataRequest !== null) {
return;
}
getDataRequest = $.ajax({
url: 'index.php',
type: 'post',
data: { fields: fields },
dataType: 'json',
success: function(json) {
if (json) {
// We have a response
}
getDataRequest = null;
}
});
}
window.setInterval(function() {
getPosts(fields);
}, 2000);
相关文章:
- 另一个Ajax函数触发的Ajax函数不起作用
- 从Ajax函数返回值
- 在成功时操作 AJAX 函数
- 将变量放入ajax函数JQuery
- 将变量传递给ajax函数
- 调用replace()中的ajax函数
- 需要将select标记选项值传递给ajax函数
- 如何让 AJAX 函数处理提交表单
- AJAX函数在没有警报的情况下无法工作
- ajax函数未在C#中返回数据
- ajax函数更改下拉列表值
- 从 ajax 函数从数据库中检索数据值
- 轮询 ajax 函数超出调用堆栈
- 无法从服务器中的 php 调用 Ajax 函数
- 调用 Document.ready 外部的 AJAX 函数
- 如何从 jQuery 中的 ajax 函数中的类访问元素 ID
- 一个Ajax函数能产生另一个Ajax功能吗
- 当用户滚动到底部时,Ajax函数会多次触发
- 为什么不是't此AJAX函数正在更改颜色
- 无法调用ajax函数