我希望在Ajax进程进行时显示更新的记录计数。当我点击开始进程按钮时,updateRecords()函数将执行,它将在数据库中逐个更新记录状态从打开到等待状态。同时我想显示等待记录的数量。当用户点击strat时进程按钮我想使用setinterval调用displayWaitingRecords()。
我从updateRecords()
clear_Process = setInterval(function(){displayWaitingRecords()},200);
但是displayWaitingRecords()
在updateRecords()
进程完成后才会调用。但我的要求displayWaitingRecords()
也会updateRecords()
执行。
显示更新记录数的功能
function displayWaitingRecords()
{
jQuery.ajax({
type: 'GET',
crossDomain:true,
async: false,
url: "/curlRRQCount.php",
success: function(count){
if(count)
{
jQuery("#processed_poids_div").html("Processed Order ids:"+count) ;
}
}
});
}
单击开始处理按钮时的功能
var clear_Process = "";
function updateRecords()
{
clear_Process = setInterval(function(){displayWaitingRecords()},200);
var str = jQuery("#rrq_form :input[value!='']").serialize();
jQuery.ajax({
async: false,
type: 'POST',
data : str,
url: "/updaterecord_status.php",
success: function(valid_result)
{
if(jQuery.trim(valid_result) == 'Success')
{
jQuery("#rrq_load_img").hide();
jQuery("#rrq_orders_status").html("some success message");
}
}
});
}
我做错了什么?任何帮助将不胜感激。
答案 0 :(得分:1)
您已设置async: false
。所以ajax调用将处理同步。将其设置为false或将其保留(因为true为默认值):
var clear_Process = "";
function updateRecords()
{
clear_Process = setInterval(function(){displayWaitingRecords()},200);
var str = jQuery("#rrq_form :input[value!='']").serialize();
jQuery.ajax({
async: true,
type: 'POST',
data : str,
url: "/updaterecord_status.php",
success: function(valid_result)
{
if(jQuery.trim(valid_result) == 'Success')
{
jQuery("#rrq_load_img").hide();
jQuery("#rrq_orders_status").html("some success message");
}
}
});
}
如果你遗漏它,你会得到相同的结果:
function displayWaitingRecords()
{
jQuery.ajax({
type: 'GET',
crossDomain:true,
url: "/curlRRQCount.php",
success: function(count){
if(count)
{
jQuery("#processed_poids_div").html("Processed Order ids:"+count) ;
}
}
});
}