Ajax中done是什么意思?
done是Ajax中的一個方法,它用于處理成功完成的Ajax請求。當(dāng)Ajax請求成功返回狀態(tài)碼為200時,done方法會被執(zhí)行,它接收一個回調(diào)函數(shù)作為參數(shù),在函數(shù)內(nèi)部可以對返回的數(shù)據(jù)進行進一步的處理。
下面我們來看一個例子:
$.ajax({ url: "example.php", method: "GET" }).done(function(response) { console.log(response); });
在上面的例子中,我們發(fā)起一個GET請求到example.php頁面。如果請求成功并返回狀態(tài)碼為200,done方法中的回調(diào)函數(shù)就會被執(zhí)行。回調(diào)函數(shù)中的參數(shù)response即為服務(wù)器返回的數(shù)據(jù),在這里我們將其輸出到控制臺中。
另一個例子:
$.ajax({ url: "users.php", method: "GET" }).done(function(users) { for (var i = 0; i< users.length; i++) { console.log(users[i].name); } });
在這個例子中,我們請求了一個返回用戶列表的接口。當(dāng)請求成功返回后,done方法中的回調(diào)函數(shù)會遍歷返回的用戶數(shù)組,并輸出每個用戶的名字到控制臺中。
除了執(zhí)行回調(diào)函數(shù)外,done方法還可以返回一個Promise對象。這意味著你可以使用done方法進行鏈?zhǔn)讲僮鳎缦滤荆?/p>
$.ajax({ url: "data.php", method: "GET" }).done(function(data) { console.log(data); return $.ajax({ url: "other.php", method: "POST", data: {id: data.id} }); }).done(function(response) { console.log(response); });
在這個例子中,我們首先請求了data.php接口。當(dāng)請求成功后,done方法中的回調(diào)函數(shù)會被執(zhí)行,并輸出返回的數(shù)據(jù)。接著,我們再發(fā)起一個POST請求到other.php接口,并傳遞了上一個請求返回的數(shù)據(jù)id作為參數(shù)。當(dāng)?shù)诙€請求成功后,第二個done方法中的回調(diào)函數(shù)會被執(zhí)行,并輸出返回的響應(yīng)數(shù)據(jù)。
總結(jié)來說,done方法是在Ajax請求成功后執(zhí)行的回調(diào)函數(shù)。它可以用于處理返回的數(shù)據(jù),或者進行鏈?zhǔn)讲僮鳌Mㄟ^在done方法中處理返回的數(shù)據(jù),我們可以在請求成功后進行進一步的操作,提供更好的用戶體驗。