5

以下のコードに示すように、jqueryの遅延作業を取得しようとしています。

<script type="text/javascript">
    var appUrls = {
                      GetDataUrl : '@Url.Action("GetData")'
                  };

    function GetData1(){
        return $.getJSON(appUrls.GetDataUrl, { Id: 1 });
    }

    function GetData2() {
        return $.getJSON(appUrls.GetDataUrl, { Id: 2 });
    }

    $(function(){
        $("#result").html("Getting Data1, Data2 .... ");

        $.when(GetData1(), GetData2())
         .then(function(result){
             //The 'result' only contains the data from first request.  
             console.log(result);
             $("#result").html("Completed GetData1, GetData2"); 
         });

    });

    </script>

両方の呼び出しが完了した後、両方の呼び出しから返されたJsonデータを抽出したいと思います。ただし、「result」オブジェクトには、最初の呼び出し(GetData1)によって返されたデータのみが含まれていますか?上記の「then」コールバックメソッドで両方の呼び出しの結果を取得するにはどうすればよいですか。

4

1 に答える 1