【发布时间】:2011-08-21 07:32:36
【问题描述】:
所以我正在尝试使用单个 jquery 函数,该函数使用 ajax 与单个 php 页面对话,但调用进程的不同步骤。如果流程步骤成功完成,它将返回下一步,以便我可以再次循环该函数......直到我返回“完成”或“失败”。我想对过程的某些步骤进行计时,以解决延迟的服务器端处理。我在函数内部使用 setTimeout 时遇到问题。我有以下内容:
function ProcessClient(InProcess){
var dataString = 'inprocess='+InProcess;
if(InProcess=='buildaccount'){dataString+='&vercode='+$('#vercode').val();}
//append current step(status) to client here
$.ajax({
type: "POST",
url: 'ajax/NewClient.php',
data: dataString,
success: function(data){
if(data=='Fail'){
alert(data);
}else if(data=='Complete'){
$('#Progress').append('<li>All done! Click <a href="/manage/">here</a> to head over to your administration page!</li>');
}else{
var Timer = 1000;
if(data=='buildserveraccounts'){
Timer=10000;
}
$(function(){
setTimeout('ProcessClient('+data+')',Timer);
})
}
}
});
}
我在这里做错了什么?截至目前......该功能甚至没有循环......我尝试了一些不同的东西,但永远无法让计时器工作。哦,我愿意接受更好的方法来完成我正在努力的想法......?
【问题讨论】:
标签: php jquery ajax settimeout