我正在與JQuery的。當()函數練,當我與執行Ajax調用2種功能。當使用I收到意外的結果與jQuery使用時不同的格式。Ajax響應具有當功能
例如,對於單一功能
$.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 */
});
內容的文件夾就像下面的一個實際的Fol der對象位於第一個響應對象的內部。我的意思是我可以通過文件夾[0]訪問返回的JSON對象。
以下是getFolders功能,GetFiles的是同爲具有AJAX不同的URL getFolders。
function getFolders(rootId) {
return $.ajax({
url: '/FileManager/GetFolders/' + rootId,
async: true,
dataType: 'json'
});
}
我想知道爲什麼我得到兩種不同格式的結果。
謝謝。
THX的答案。當我使用.when與單個ajax調用時,它不會返回3個參數。只有當內部有2個Ajax調用時纔會發生。 – 2012-07-12 19:56:00
對於簡單的Ajax調用,您不需要使用$ .when()。當您想等待多個查詢(或延遲)時,此功能非常棒。對於一個查詢,您可以執行'.ajax()。then(function(res){})'或使用_success_選項。 – odupont 2012-07-12 20:00:17