在我的php主页中,我有一个大约10到60个字段的表单。当我将它提交给“process.php”页面时,它将逐个处理每个字段并输出结果。但这将整体输出结果。我想要做的是,使用ajax提交数据并逐个收集输出并逐个显示给用户。
我已经阅读过jquery get,post和ajax方法。但是如何从php页面逐个回显输出,每个都是由ajax收集并逐个显示给用户?
我知道我可以逐个执行ajax调用(发送一个字段并获得响应,然后将其显示给用户并发送下一个字段,依此类推)。但我不想这样做。我想一键发送所有字段并逐个显示输出。
此process.php使用API(使用curl)。所以可能需要几秒钟的延迟。
有可能吗?
更多详情:
$fields = $_POST['flds'];
foreach($fields as $f)
{
// do cURL operation - API
// print output
}
所以输出就像:
output of field1
.....
output of field2
.....
output of field3
.....
etc..
即首先显示:
output of field1
几秒后:
output of field1
output of field2
就是这样。我不想发送一个字段并获得输出,然后输出第二个字段然后输出等。但我想发送整个字段并逐个输出。
有可能吗?
类似:flush() Not displaying output in PHP?
我尝试测试的内容:
<?php
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
$i = 10;
while($i>0)
{
echo $i . '<br />';
flush();
sleep(1);
$i--;
}
?>
但没有工作。页面看起来像加载几秒钟,最后输出整数。
提出这个问题的原因是,这个api需要4-11秒或更长时间才能执行! 所以超过50个领域大约需要10分钟。即使扩展脚本用户的最大执行时间必须等待这个空白屏幕这么长时间!