jQuery的done()這個方法用于在異步請求成功時調用相應的函數。當我們使用AJAX來請求另一個頁面、異步獲取后臺數據并進行渲染頁面時,就可以用done()方法在數據獲取成功后執行相應的回調函數。
$.ajax({ url: '/user/login', type: 'get', dataType: 'json' }) .done(function(response){ if(response.status === 'success'){ // 用戶登錄成功,執行相應的操作 }else{ // 用戶登錄失敗,執行相應的操作 } })
在上述代碼中,我們使用了jQuery的ajax()方法來發起一個GET請求,后臺返回的數據格式是JSON。然后我們使用done()方法來監聽這個請求是否成功。如果請求成功,回調函數中會接收到后臺返回的數據,我們可以根據數據中的狀態碼來判斷用戶是否登錄成功,然后執行相應的操作。如果請求失敗,done()方法不會被調用,而是執行fail()方法。
$.ajax({ url: '/user/login', type: 'get', dataType: 'json' }) .done(function(response){ // 請求成功時執行的操作 }) .fail(function(error){ // 請求失敗時執行的操作 })
如果我們還想在ajax請求結束后無論成功或失敗都執行相應的函數,也可以使用always()方法。
$.ajax({ url: '/user/login', type: 'get', dataType: 'json' }) .done(function(response){ // 請求成功時執行的操作 }) .fail(function(error){ // 請求失敗時執行的操作 }) .always(function(){ // 請求結束時執行的操作,無論成功或失敗 });
總之,done()方法在異步請求成功時執行相應的函數,fail()方法在異步請求失敗時執行相應的函數,always()方法則在異步請求結束時無論成功或失敗都執行相應的函數。這三個方法都是配合ajax()方法使用的,幫助我們更方便地進行異步數據請求。