0

サーバーからJSONコンテンツを取得し、3つの個別のdivを埋めるページに3つの$.ajaxリクエストがあります。これらの3つのdivのコンテンツはかなり大きいため、すべてのコンテンツをロードするには時間がかかります。また、これらのajax呼び出しはページの読み込み時に呼び出されるため、次のようになります。

 $(document).ready(function () {
        $.ajax({
            type: 'POST',
            url: "/controller/action",
            dataType: 'json',
            traditional: true,
            async: false,
            success: function (data) {
                //fill content in div 1
            }
        });

        $.ajax({
            type: 'POST',
            url: "/controller/action2",
            dataType: 'json',
            traditional: true,
            async: false,
            success: function (data) {
                //fill content in div 2
            }
        });

        $.ajax({
            type: 'POST',
            url: "/controller/action3",
            dataType: 'json',
            traditional: true,
            async: false,
            success: function (data) {
                //fill content in div 3
            }
        });
});

私の大きな質問は次のとおりです。

  1. ページを最初にロードする方法(およびリンクなどの要素を機能させる方法)
  2. その後、これら3つのajaxスクリプトを同時にロードします。したがって、ajax1、ajax2、ajax3を呼び出す代わりに; それらすべてを同時に呼び出します。

どうもありがとう!時計仕掛け

4

3 に答える 3

9
  1. ページは、ajax 呼び出しが発生する前に読み込まれます。
  2. async を true に設定すると、すべて同時に起動します。
于 2012-06-07T23:07:06.043 に答える
2

ページが最初に読み込まれ、準備が整うと関数が実行されます。

GUI を応答せ、同時に ajax 要求を実行するには、async:falseオプションを削除します。

于 2012-06-07T23:06:40.660 に答える
-1

このコードを $(document).load( .... ) に移動できます。

3 つの通話が同時に開始されます。終了時間は保証されません。

于 2012-06-07T23:06:28.960 に答える