JQuery .when() 関数で練習していますが、ajax 呼び出しを実行する 2 つの関数で .when を使用すると、予期しない結果が返されます。
たとえば、単一関数の場合
$.when(getFolders(id)).then(function(folders) {
/* return value is as expected */
});
この場合のフォルダの内容は次のとおりです。
ただし、次の場合、
$.when(getFolders(idOfClickedFolder), getFiles(idOfClickedFolder))
.then(function( folders, files ) {
/* results formats are not similar here with above one */
});
フォルダーの内容は次のようになります。実際のフォルダー オブジェクトは、応答の最初のオブジェクト内にあります。つまり、返された JSON オブジェクトには、folders[0] 経由でアクセスできます。
以下は getFolders 関数です。getFiles は、ajax 用に異なる URL を持つ getFolders と同じです。
function getFolders(rootId) {
return $.ajax({
url: '/FileManager/GetFolders/' + rootId,
async: true,
dataType: 'json'
});
}
なぜ結果を 2 つの異なる形式で取得しているのか疑問に思っています。
ありがとう。