私はいくつかのウェブサイトを開発しましたが、私はいつも同じポイントをつまずきます:複数のajax呼び出し。私はすべてのコンテンツが非同期にロードされるメインページを持っています。ページがロードされると、4つの独立した呼び出しがあり、ページを領域(上、左、右、下)で「描画」し、ロードされている間、典型的なajaxスピンをユーザーに示します。したがって、リクエストがブラウザによって受信されると、私はコールバックを実行し、異なるエリアが異なる時間に描画しています。実際には、サーバの回答が時々混ざり合っている、つまり、上の答えが左に、またはその逆が左に描かれているということです。複数のajaxが同時に呼び出す
各リクエストでタイムスタンプを作成して、ブラウザとサーバーにそれぞれのリクエストが異なることを示すようないくつかのソリューションを試しました。
また、サーバーのキャッシュのいくつかのパラメータを設定しようとしました。
1のコールバックでrequest2を含むされています働いている唯一の方法は、など
誰もがそれを行うための適切な方法を知っているか、これまでこの問題を殴られました?私は連鎖した要求をしたくありません。ここで
おかげ
は、私が何を意味するかの例です:
$(document).ready(function() {
$.get('/activity',Common.genSafeId(),function(data){$('#stream').html(data);$("#load_activity").addClass("empty");});
$.get('/messages',Common.genSafeId(),function(data){$('#message').html(data);$("#load_messages").addClass("empty");});
$.get('/deals',Common.genSafeId(),function(data){$('#new_deals_container').html(data);$("#load_deal").addClass("empty");});
$.get('/tasks',Common.genSafeId(),function(data){$('#task_frames').html(data);$("#load_task").addClass("empty");});});
とHTMLは4つのコンテナの異なるIDを持つ各1との簡単なJSPです。
答えは間違った場所に描かれていますが、どういう意味ですか?正しく構築されたAjax呼び出しは、レイアウトの非常に特定の場所にあるHTMLの非常に特定の部分を更新します。問題を示す簡単なコードを投稿してください。 –
あなたのページに$( '#container')のような内容を追加していますか?append()? – jimw
はい、投稿を更新しました。コンテンツはDOMに追加されますが、要求が不適切なIDでコンテンツを描画することがあります。私は奇妙なことを知っている、その理由のために私は通常、チェーンの要求を行う。両方の答えに感謝します。 –