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 に答える