jQuery 3的ajax()方法是通過發送請求到服務器來異步獲取數據的方法。而它的.then()方法則在請求成功后進行鏈式操作。
當使用ajax()方法發起請求后,可以通過.then()方法來處理請求的響應。例如:
$.ajax({ url: "example.com/data.json", method: "GET" }).then(function(response) { console.log(response); }).catch(function(error) { console.log(error); });
上面的代碼中,ajax()方法向example.com服務器請求data.json文件,并通過.then()方法在請求成功后執行回調函數來處理響應。如果請求失敗,則通過.catch()方法來捕獲錯誤。
在.then()方法中,可以通過傳遞一個或多個回調函數來處理請求響應。如下例:
$.ajax({ url: "example.com/data.json", method: "GET" }).then( function(response) { console.log(response); }, function(error) { console.log(error); } );
上面的代碼中,.then()方法接受兩個回調函數,一個處理成功響應,一個處理錯誤響應。這里我們使用了函數表達式來定義這兩個回調函數。
除了傳遞回調函數外,.then()方法還可以使用鏈式語法。
$.ajax({ url: "example.com/data.json", method: "GET" }).then(function(response) { return response.map(function(item) { item.name = item.name.toUpperCase(); return item; }); }).then(function(data) { console.log(data); }).catch(function(error) { console.log(error); });
上面的代碼中,我們在第一個.then()方法中使用.map()方法對響應數據進行操作,然后將新的數據傳遞給下一個.then()方法進一步處理。如果請求失敗,則通過.catch()方法來捕獲錯誤。
總的來說,.then()方法提供了方便的鏈式語法來處理ajax()方法的響應數據。