我有这个ajax请求来更新我的分贝。如何显示Ajax请求进度
function ajax_submit(){
var submit_val=$("#stato").serialize();
dest="plan/new_bp1.php";
$.ajax({
type: "POST",
url: dest,
data: submit_val,
success: function(data){
data1=data.split("|");
if(data1[0]=="Successo"){
$("#spnmsg").fadeTo(200,0.1,
function(){$(this).removeClass().addClass("spn_success").html(data1[1]).fadeTo(900,1)});
}else if(data1[0]=="Errore"){
$("#spnmsg").fadeTo(200,0.1,
function(){$(this).removeClass().addClass("spn_error").html(data1[1]).fadeTo(900,1)});
}
},
complete: function(){
setTimeout(function(){ $('.container').load('plan/home.php');},2000);
}
});
}
被调用的脚本将需要很长时间才能执行,因为它必须每次选择,详细说明和插入4.000个recors。我现在所做的是在屏幕上添加一个微调器,以向用户反馈请求正在工作(由AjaxStart和AjaxStop触发)。
在通话的完整功能将重复一下PHP脚本将回波的终点。
我想要做的是有一个计数器,将在脚本执行过程中更新,我可以说“X记录超出4.000处理” 在脚本方面,我没有问题来计算数字的处理记录和整体记录数。 如何更新脚本以显示进度?
您保存完成的动作是文件或数据库,然后做一套Ajax请求查询该文件或数据库,并得到结果作为第一个PHP脚本工作 – adeneo
没有选择当前请求接收反馈的PHP脚本反馈? –
不是真的,你要推*(SSE或套接字)*到客户端的进步,或者只是轮询它使用Ajax,你必须与其他Ajax调用做到这一点,因为你不能用AJAX返回的谐音,并且仍然继续工作等等。它通常比第一个假设更难,你不能仅仅依靠jQuery的'progress'处理器来处理这样的事情。 – adeneo