gpt4 book ai didi

javascript - jQuery:Ajax - 如何找到最后一个调用

转载 作者:行者123 更新时间:2023-11-28 23:13:54 28 4
gpt4 key购买 nike

简介:

为了将数据插入数据库,我使用了使用 jQuery ajax 方法的异步方法,因为这些调用计数不知道将发送多少请求,所以我使用 ajaxStop 方法来确定调用已结束。

问题:

我的需要和问题是:在所有调用结束并将数据插入数据库后,我需要找出那些插入的记录数,所以我试图在 ajaxStop() 方法中添加一个函数或调用,这实际上在所有 Ajax 调用或完成后触发。因为这将在文档内的所有 ajax 调用之后触发,所以当我进行调用时,这将被触发并一次又一次地变成无限循环。

  1. 我可以通过什么方式获得所有的总记录异步调用完成或
  2. 我能找出最后一个电话吗,这样我就可以提取记录许多被插入。
  3. 有没有其他方法可以做到这一点。

我正在使用 jQuery Ajax 函数,如下所示:

<script>
//Declaration of function that will insert data into database
$.ajaxSetup({
url: "senddata.php"
});

function senddata(filename,query,t){
var file = filename;
var q = query;
$.ajax({
type: "POST",
data: {file,q,t},
async: true,
success: function(html){
$( '#responce' ).append( '<li>' + html + '</li>');
},
error:function(exception){ alert('Exeption:'+exception); }
})
}

$( document ).ajaxStop(function() {
$.post('senddataQuery.php', { num: 5 }, function(result) {
//alert(result);
$( '#responce' ).append( '<li>' +result+ '</li>');
});
});
</script>

欢迎提出建议和指导。

在此先表示感谢。

最佳答案

我会做一些事情,比如添加一个全局变量数组,每个成功函数都会推送其签名:

var ajaxFunctions = [];
var file = filename;
var q = query;
$.ajax({
type: "POST",
data: {file, q, t},
async: true,
success: function(html) {
ajaxFunctions.push("Success1");
$('#responce').append('<li>' + html + '</li>');
},
error: function(exception) {
alert('Exeption:' + exception);
}
})
}

$(document).ajaxStop(function() {
$.post('senddataQuery.php', {
num: 5
}, function(result) {
ajaxFunctions.push("Success2");
//alert(result);
$('#responce').append('<li>' + result + '</li>');
});
});

就这么简单,如果你想得到最后执行的函数,你总是可以得到:

console.log(ajaxFunctions[ajaxFunctions.length - 1]);

关于javascript - jQuery:Ajax - 如何找到最后一个调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722215/

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