0

是否可以从 $.ajax 帖子中获得部分结果并写入 div?

我的js代码

$('#submit').livequery('click', function(event) { 
    event.preventDefault();
    $('#loading').show();
    var myvar= $("#myvar").val();
    $.ajax({
        type: "POST",
        url: "process.php",
        cache: false,
        data: ({'myvar':myvar}),
        success: function(data){
            $('#loading').hide();
            $('#main_content').html(data);
        },
    });
    return false;  
});

来自 process.php 的代码

function send($string = "") {
echo $string;
echo str_pad('', 4096)."\n";
@ob_flush();
@flush();
}
for($i=1;$i<=10;$i++){
send($i);
sleep(5);
}

可以在 #main_content 上显示如下结果:

  • 显示 1 -> 等待 -> 显示 2 -> 等待 .....

现在我在处理完成后得到所有结果:12345678910

4

1 回答 1

0

PHP 代码在服务器上运行,因此不会像您要求的那样影响客户端浏览器的行为。完成您想要的方法是将所有信息从 PHP 传递到您的浏览器并在 jQuery 或 javascript 中处理逻辑。发送所有信息并将其存储在一些变量/数组中,然后在 POST 之后,拆分信息并将其显示给浏览器,并使用如下所示的超时回调:

setTimeout(function() {
  // Do something after 5 seconds
}, 5000);
于 2013-03-15T12:43:00.293 回答