我一直在寻找我的大脑,但我似乎无法将我的头围绕我找到的小帮助。AJAX触发器远程脚本,然后检查成功响应
我正在运行由另一个数据库中的数据提供的数据库。 csv传输由第三方服务器处理,该第三方服务器提供编译和传送数据的可执行“流”。
我有一个PHP脚本来处理请求(由于缺少'Access-Control-Allow-Origin'标头,不能通过Javascript直接完成)。但这很好。我可以触发流量。
虽然这不是问题。 我想要做什么:触发按钮的流动@onClick像这样的东西:
function trigger_func(flowID) {
$.ajax({
url: './ajaxPHP_handler.php',
data: "flowid="+flowID,
dataType: 'json',
success: function(result) {
var jsonResult = jQuery.parseJSON(result);
console.log(jsonResult.runID);
}
});
}
随着流ID,并将所得的runid我想回来看看像每秒左右。
function check_status(flowID, runID) {
$.ajax({
url: './ajaxPHP_handler.php',
data: "flowid="+flowID+"&action=status&runId="+runID,
dataType: 'json',
success: function(result){...}
});
}
这将返回流的状态/进度。 它会在status == null的状态下启动几秒钟,然后进入状态=='运行',最后状态=='成功'。 我已经得到了check_status()在trigger_func()的成功函数内的for循环中运行了15次,并且setTimeout也可以正常工作。 但我不能为我的生活弄清楚如何将这些东西链接在一起,让它检查,直到状态为'成功',然后停止检查,更新页面内容等...
我也拨弄有点像
trigger_func(id).done(function(result){
console.log(result);
});
这样做也可以,但我仍然想不到我的方式进一步检查每一秒,直到'成功'。我想它归结为变量'状态'回到我的循环,所以我可以打破它。
也许有人易于理解的例子都知道网上什么地方...
让我明白了,基本上你想使一个周期性的AJAX请求,直到成功状态返回,在这一点上,应立即停止。我对么? – qwattash
是的。这是我想要做的 –