我正在使用 jQuery 的 ajax 来运行以下 php 脚本:
jQuery.ajax({
type: "POST",
url: "my_php_script.php",
success: function( response ) {
console.log(response);
},
error: function(){
console.log('error is...');
}
});
my_php_script.php
循环遍历一个数组,并在每个产品上运行一个函数:
$count = count($array);
$i = 0;
foreach ($array as $item) {
myFunction($item);
$i++;
if($i == $count){
echo json_encode('all done and a success');
}
}
这一切都有效,但脚本通常需要大约 2-3 分钟才能完成,因此我需要在运行时向查看器显示进度。我该怎么做?
我可以通过添加来获取循环的百分比
$percent = intval($i/$count * 100)."%";
echo json_encode($percent);
进入我的 php 循环:
$count = count($array);
$i = 0;
foreach ($array as $item) {
myFunction($item);
$percent = intval($i/$count * 100)."%";
echo json_encode($percent);
$i++;
if($i == $count){
echo json_encode('all done and a success');
}
}
但是我如何在 jQuery ajax 调用中获取这个值?
最佳答案
$.ajax({
url: path,
xhrFields: {
onprogress: function (e) {
}
},
success: function (response) {
}
});
发现这个例子希望它有帮助。
关于php - 使用 jQuery.ajax 获取 PHP 脚本的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585665/