4

私は現在、AJAX経由でデータを送信し、画面に表示されるAJAX経由で応答を受け取る単純なAJAXページを持っています。サーバーが応答を処理している間、進行状況バーを作成したいと思います。私の考えでは、最終的な応答が送信されるまで、クライアントが進行状況バーに変換できる進行状況を含む複数の ajax 更新をクライアントに送信できます (つまり、ブートストラップを介して)。

単一の AJAX リクエストから複数の AJAX レスポンスを送信することは可能ですか、それともこれを行うための最良の方法は何ですか。

ありがとう、

4

2 に答える 2

5

プログレス バーに残りの作業のパーセンテージを表示できるようにする場合、これをクライアントに実装する方法を考える前に、最初に決定する必要があるのは、通知をサポートするようにサーバー側のコードを記述する方法です。

次に、クライアントには 2 つの可能な手法があります。

  1. 押す
  2. 引く

PUSH 通知を使用すると、HTML5 WebSocket を使用して、サーバーが進行状況をクライアントに直接 PUSH することができます。

PULL では、操作の進行状況を返すサーバーに定期的に AJAX 要求を送信する必要があるのはクライアントです。

パーセンテージを報告したくない場合は、AJAX リクエストを送信する前にスピナー アニメーションを表示するだけで、AJAX リクエストが完了すると非表示になります。

于 2013-09-22T17:10:48.757 に答える
2

バックグラウンドでローディング画像を非表示にし、AJAX 呼び出しが開始されたときに.show()メソッドを使用して表示します。success関数で、メソッドを使用して画像を非表示にします.hide()

サンプル HTML は次のようになります。

<div class="ajax-content">
    <img src="loading.gif" alt="Loading" class="loading-gif" />
    <div class="ajax-response">
    </div>
</div>

そして、同じスクリプトは次のとおりです。

$(element).click(function(){
    $(".loading-gif").show();
    $.ajax({
        ...
        success: function(){
            $(".loading-gif").hide();
        }
    });
});
于 2013-09-22T17:09:50.403 に答える