jQuery的done()和success()函數都是用于處理異步操作完成的回調函數。它們在jQuery中是非常常用的兩個函數,下面我們來詳細介紹一下它們的用法和區別。
首先來看done()函數,它是Promise的一個方法,表示異步操作成功時的回調函數。比如:
$.ajax({ url: 'someurl', dataType: 'json' }).done(function(data) { console.log('請求成功:'+data); }).fail(function(jqXHR, textStatus, errorThrown) { console.log('請求失敗:'+textStatus); });
上面的代碼表示發送一個ajax請求,當請求成功時打印返回的數據,當請求失敗時打印失敗的狀態碼。done函數接收一個函數作為參數,這個函數會在異步操作成功時執行。
而success()函數則是在$.ajax()的調用中使用的回調函數,表示異步操作成功時的回調函數。比如:
$.ajax({ url: 'someurl', dataType: 'json', success: function(data) { console.log('請求成功:'+data); }, error: function(jqXHR, textStatus, errorThrown) { console.log('請求失敗:'+textStatus); } });
與done()函數類似,success函數也接收一個函數作為參數,這個函數會在異步操作成功時執行。
總的來說,done()和success()函數的功能是相同的,都用于處理異步操作成功時的回調函數。不過done()函數是Promise的一個方法,而success()函數則是在$.ajax()的調用中使用的回調函數。在使用上,done()函數更加靈活,可以與Promise的其他方法一起使用,而success()函數只能在$.ajax()中使用。