1

ajaxがリクエストを送信するphpファイルによって返されたコンテンツを動的に解析するにはどうすればよいですか?

私のコード:

jQuery(function () {
    var request = jQuery.ajax({
        url: "ajax/db.php",
        type: "POST",
        data: {
            addresses: '<?php echo implode(' * ', $addresses); ?>'
        }
    });
    request.done(function (msg) {
        jQuery("#response").append(msg);
    });
    request.fail(function (jqXHR, textStatus) {
        alert("Request failed: " + textStatus);
    });
});

ajax/db.php

<?php

    echo 'hello';
    sleep (5);
    echo 'world';

私が達成したいのは、ajax/db.phpファイル応答を動的に表示することです-最初にhello文字列を#responseオブジェクトに追加し、5秒間スリープした後、別の文字列を追加する必要があります- world.

現時点では、コードは 5 秒後に出力全体を追加するだけです。

ライブ応答のように機能させる方法はありますか?

4

2 に答える 2

1

これがPHPサーバーの仕組みです。1リクエスト、1出力。

前後にデータを送信したい場合は、ob_flush()sleep()を使用できますか?

このようなもの(申し訳ありませんが、私はこれを使用していました。動作しない場合は撮影しないでください)

<?php

    echo 'hello';
    ob_flush();
    flush();
    sleep (5);
    echo 'world';
于 2013-08-29T15:21:06.693 に答える
0

sleep(5)PHP の実行を停止するため、実行が終了するまでブラウザには何も返されません。Javascript は、応答全体を取得するためにさらに 5 秒待たなければなりません。それだけです。応答を複数の部分に分割したい場合は、2 つの Ajax 要求を連続して作成する必要があります。

于 2013-08-29T15:19:51.493 に答える