我希望在Ajax进程进行时显示更新记录计数。当我单击start process按钮时,updateRecords()函数将执行,它将在database.So中将记录状态逐个更新为等待状态,同时希望在用户单击strat按钮时显示等待记录计数.For,当用户单击使用setinterval调用displayWaitingRecords()时。
我是这样从updateRecords()
调用这个函数的
clear_Process = setInterval(function(){displayWaitingRecords()},200);
但是displayWaitingRecords()
不会调用,直到updateRecords()
process completes.But,我的要求是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");
}
}
});
}
我在哪里做错事?任何帮助都将不胜感激。
发布于 2015-01-12 08:04:17
你设置了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) ;
}
}
});
}
https://stackoverflow.com/questions/27896869
复制相似问题