2011-11-09 10 views
1

現在、Webベースのアプリケーションを計画中です。要求に応じてサーバー上で長い計算を行う必要があります。今私は、計算が進行中であることをユーザーに通知し、計算が完了するとすぐにそのページをリダイレクトしたいと思います。進行状況をユーザーに通知するには

進捗状況をユーザーに通知したり、進行状況バーを表示したりする必要はなく、計算が完了するとすぐにサイトを交換したいだけです。

私は平易なjavascriptのほかに追加のwebkitを残そうとしているので、this solutionは非常に複雑です。

私が持っているアイデアの1つは、待機中のページのJavaScriptからhttpクエリを開始し、計算が完了するまでサーバー側で何も返さないことです。この方法では、接続が完了するまでクエリをブロックしたままにしておきます。完了したら、何かを返して接続を終了するので、ブロックされた通話を続行してユーザーをリダイレクトできます。しかし、私は、この接続を経由するものがなければ、ネットワーク上でタイムアウトが発生する可能性があることを恐れています。

どのようにこれは通常処理されますか?

+1

どのくらいの計算には時間がかかりますか? "長い"は、それが得られるほど不正確です。 –

答えて

4

これは通常処理される方法は、進行状況を返すページを定期的に呼び出すことです。 AJAX呼び出しを実行する最も簡単な方法は、完了していないときは0を返し、完了したら1を返します。

は、基本的にはただの仕事上のステータス更新のためにサーバーをポーリングしていないだけでスピナー画像を使用する理由、それは1

1

私はChrisRの解決策に行きます。

そして、ユーザはプロセスが完了するのを待っている間に、(グレッグが言ったように)あなたはスピナーを表示することができますが、私はむしろ、アニメーションGIFよりも複雑なソリューションのために行くだろう:)

私がしようとする提案してもよいですハートコードCanvasLoader?

http://heartcode.robertpataki.com/canvasloader/

幸運、 ロブ

関連する問題