jQuery $ .ajax post显示部分结果

时间:2013-03-15 12:39:10

标签: ajax jquery jquery-post

是否可以获得部分结果并从$ .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上显示如下结果:

  • show 1 - &gt;等待 - &gt; show 2 - &gt;等..... .....

现在我在完成流程后得到所有结果:12345678910

1 个答案:

答案 0 :(得分:0)

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

setTimeout(function() {
  // Do something after 5 seconds
}, 5000);