問題タブ [server-response]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
675 参照

python - 遅い Flask ビューのユーザー エクスペリエンスを改善する

新しいタブでレポートを生成するルートにヒットするアンカー タグがあります。元の場所とレポート オブジェクトにデータのコピーを置きたくないので、レポート仕様を遅延読み込みしています。しかし、そのデータの収集には 10 ~ 20 秒かかります。

サーバーがスピナーですぐに応答し、 function_that_takes_20_seconds が完了したら、レポートをロードするために何ができるか疑問に思っています。

0 投票する
0 に答える
98 参照

php - jQuery の $.ajax と PHP を使用したチャット ページがタイムリーに更新されない

私のウェブサイトのメンバー向けのチャットページを作成しています。チャットの自動更新を除いて、すべてが適切に機能します。チャット ページは 5 秒ごとに新しいメッセージをチェックすることになっており、コールバックを操作すると、この部分が正しく機能していることがわかります。ただし、$.ajax が参照する PHP ファイルは、2 つの非常に異なる動作をもたらします。私が実行したすべてのテストで ajax は正しく機能しているため、ここでは除外しますが、必要だと感じた人がいる場合は追加できます。これは私の注釈付きPHPです:

if(isset($new_chat)) ブロックはシンプルで、問題はありません。基本的に、新しいメッセージがある場合、新しいメッセージをチャット データベースに追加し、ブラウザの観点から見て最新の ID 番号よりも大きい ID 番号を持つすべてのメッセージを返します。この部分は機能し、その情報を 1/4 秒以内にブラウザに返します。

このコードのelseブロックは、私がいくつか問題を抱えているように見える場所です. else ブロックは、if ブロックの後半 ($query2 から下) と同じ行です。動作しますが、非常にゆっくりです。一方、if ブロックはサーバーから平均 1/4 秒でロードされますが、else ブロック (コードが少ない) はデータを返すのに平均 90 秒かかります。$.ajax 呼び出しは、ユーザーがメッセージを送信したかどうかに関係なく同じ関数です。唯一の違いは、ユーザーがメッセージを送信した場合に if ブロックが参照される (したがって $.ajax 呼び出しは手動である) ことですが、else ブロックはブラウザーで setTimeout(function,5000) 行を繰り返すことによって自動的に参照されます。

setTimeout() が適切に機能していることは 99.9% 確信しています。なぜなら、手動で $.ajax 呼び出しを設定して一般的な $new_chat (つまり、「これはメッセージです」) を送信すると、関数は毎回機能するからです。5 秒ごとにチャットが送信され、1/4 秒後にチャット ページに期待どおりに表示されます。(私のチャット ページは上記の PHP によって完全に読み込まれます。ユーザー A から送信されたメッセージでさえ、上記のファイルに送信され、処理され、ユーザー A に返送される必要があります。これにより、ユーザーは自分のメッセージが送信されたことを知ることができます。)

肝心なのは、なぜこの動作が発生しているのかについて、私は完全に途方に暮れているということです。$.ajax は、自動でも手動でも同じ関数にあります。PHP は同じコードで、遅いブロックも起動時間が短くなります! $.ajax 呼び出しは、手動の場合は完全に高速に実行され、メッセージが自動 $.ajax と一緒に送信された場合も完全に高速に実行されます。私は AJAX と jQuery を初めて使用するので、問題はこれらのテクノロジのいずれかにあると考えたいのですが、私が座っている場所からはまったく意味がありません。

0 投票する
1 に答える
208 参照

javascript - ある Web ページから別の Web ページにスムーズに切り替える方法

たとえば 2 つのページがあり、あるページから別のページに変更したい場合、非同期 Javascript を使用して Web サイトを取得し、サーバーからの応答を受信する前にトランジションを適用できますか?

ここで私が言いたいことを実証しようとします。それが役に立てば幸い

page1.html

script.js