我有这样的表格:
<form id="monForm" action="indexer.php" method="post">
<input name="url" id="url" value="" class="url"/>
<input type="submit" id="envoyer" value="Parser" class="submit" />
</form>
<p id="infos"></p>
这个Javascript:
<script>
$(document).ready(function(){
$('#monForm').submit(function() {
var url = $('#url').val();
$( "#result" ).empty();
// appel Ajax
$.ajax({
url: $(this).attr('action'), // le nom du fichier indiqué dans le formulaire
type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST
success: function(msg) { // je récupère la réponse du fichier PHP
$('#infos').append(msg+'%<br/>');
}
});
return false; // j'empêche le navigateur de soumettre lui-même le formulaire
});
});
我的indexer.php只是一段时间了:
$i = 0;
while($i < 10){
echo $i."<br/>";
sleep(1);
$i++;
}
我不想一次性返回数据(0,1,2,3 ......)。
我认为我需要使用ob_flush,但我不知道该怎么做。
请问好吗?
答案 0 :(得分:0)
如果您在打印数字之前尝试引入延迟,我认为此代码可能会有所帮助。
<?php
header( 'Content-type: text/html; charset=utf-8' );
$i = 0;
while($i < 10){
echo $i."<br/>";
if(sleep(1) != 0) {
echo 'sleep failed';
break;
}
flush();
ob_flush();
$i++;
}
?>
答案 1 :(得分:0)
希望这会对你有所帮助:
<?php
// start output buffer
if (ob_get_level() == 0) ob_start();
$i = 0;
while($i < 10){
echo $i."<br/>";
ob_flush();
flush();
sleep(1);
$i++;
}
?>