简介:
要将数据插入数据库,我使用的是使用jQuery ajax方法的异步方法,因为这些调用count不知道将发送多少请求,我使用ajaxStop方法来识别调用结束。
问题:
我的需求和问题是:在所有调用结束并将数据插入数据库后,我需要找出那些插入的记录数,所以我试图在ajaxStop()方法中添加一个函数或调用,在所有Ajax调用或完成后实际触发。因为这将在文档内的所有ajax调用之后被触发,当我进行调用时,这将被触发并且一次又一次地变为无限循环。
我正在使用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>
欢迎提出建议和指导。
提前感谢并感谢。
答案 0 :(得分:1)
我会做一些事情,比如添加一个全局变量数组,每个成功函数都会推送它的签名:
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]);