我正在与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