1

典型的な "読み込み中..." またはアニメーション gif の代わりに、何が起こっているかをより適切に説明したいと思います。(一部のスプラッシュ スクリーンがアプリケーションに対して行うことと似ています)。ただし、Jquery のドキュメントを一瞥すると、XMLHttpRequest 状態の変更を取得する方法はないようです。

私がやりたいことは、このようなものです

ケース = 1 の場合、「開始中」と表示されます

ケース = 2 の場合、「近づいています」と表示されます

ケース = 3 の場合、「あと少しです」と表示されます

if case = 4 表示内容

私は何かを見落としていますか、それともjqueryのajaxメソッドを放棄して自分で書くべきですか?

4

1 に答える 1

0

一定の時間間隔で Web サービスをポーリングし、アプリケーションに適切と思われるもの (提示したメッセージなど) を返し、進行状況インジケーターを更新する必要があります。プロセスは 2 つあります。最初のステップは、実行する必要がある操作を実際に開始することです。2 つ目のステップは、サーバーを定期的にポーリングして、操作が完了したかどうかを確認することです。

ただし、何らかの方法で現在の操作ステータスをサーバーに保存する必要があります。あなたがどのテクノロジーを使用しているかはわかりません。そのため、選択したフレームワークが提供するものを使用するように伝えることしかできませんが、プロセスの状態が永続化できる変数に設定されていることを確認してください (HTTP はステートレスです)。たとえば、セッション変数で。実行中のプロセスとポーリング メソッドの間でこの値を同期するのは難しい場合があります。

全体として、このようなスプラッシュ スクリーンは、クライアントで処理が実行されるときに、デスクトップ アプリケーションまたは Web アプリケーションで使用されます。非同期で実行しているメソッドがサーバー上に存在する場合、更新を進行させようとするのは得策ではないと思います。このような進行状況インジケーターは、アセット (画像やその他のファイルなど) をロードしているときに役立ち、現在ロードされているアイテム/サイズと合計サイズなどをカウントできます。処理操作がサーバーで呼び出されるかクライアントで呼び出されるかに関係なく、カウント可能でなければなりません...

Web アプリケーションにもう 1 つの退屈な "読み込み中..." インジケーターが必要ない場合は、面白い引用符やその他のテキストを配列からランダムに表示できます。

最善の解決策 - リクエストの処理にかかる時間を最小限に抑えます。:)

于 2009-04-02T19:54:23.223 に答える