
jQuery AJAX 是一個(gè)用于發(fā)送 HTTP 請求的 JavaScript 庫,它可以在不刷新整個(gè)頁(yè)面的情況下,與服務(wù)器交換數據并更新部分網(wǎng)頁(yè)內容,這使得網(wǎng)頁(yè)更加動(dòng)態(tài)和響應迅速,在本教程中,我們將詳細介紹如何使用 jQuery AJAX。
(圖片來(lái)源網(wǎng)絡(luò ),侵刪)1、引入 jQuery 庫
在(╥_╥)使用 jQuery(′ω`) AJAX 之前,首先需要引入 jQu(′?`*)ery 庫,你可以通過(guò)以下兩種方式之一將 jQuery 庫添加到你的項目中:
使用 CDN(內容分發(fā)網(wǎng)絡(luò )):
<script src="https://code.jquery.com/jquery3.6.0.min.(′?_?`)js"></script>下載 jQuery 庫并將其添加到項目中:
訪(fǎng)問(wèn) https://jquery.com/download/ 下載最新版本的 jQuery 庫,然后將其添加到項目的 <head> 標簽內。
2、編寫(xiě)一個(gè)簡(jiǎn)單的 AJAX 請求
要發(fā)送一個(gè) AJAX 請求,你需要使用 jQuery 的 $.ajax() 方法,以下是一個(gè)簡(jiǎn)單的示例,向服務(wù)器發(fā)送一個(gè) GET 請求并處理返回的數據:
$.ajax({ url: "https://api.example.com/data", // 請求的ヽ(′▽?zhuān)?ノ URL type: "??GET", // 請求類(lèi)型(GET、POST、PUT、DELETE等) dataType: "jsoヽ(′ー`)ノn",?? // 預期服務(wù)器返回的數據類(lèi)型("(???);xml", "json", "html??", "text"等) success: function (data) { // 請求成功時(shí)執行的回調函數 console.log("請求成功,返回的數據:", data); // 在這里處理返回的數據,例如更新網(wǎng)頁(yè)內容 }, error: function (jqXHR, textStatus, errorThrown) { // 請求失敗時(shí)執行的??回調函數 consol??e.log("請求失敗,(′?_?`)錯誤信息:", textSt??atus, errorThrown); // 在這里處理錯誤情況,例如顯示錯誤提示信息 }});在這個(gè)示例中,我們向 https:?//api.example.com/data 發(fā)送了(le)一個(gè) GET 請求,當請求成功時(shí)(′;ω;`),我們在控制臺打印返回的數據;當請求失敗時(shí),我們在控制臺打印錯誤信息,你可以根據需??要修改??這些回調函數以實(shí)現自定義邏輯。
3、發(fā)送不同類(lèi)型的請求
除了 GET 請求,你還可以使用其他類(lèi)型的請求,如 POST、PUT、DELETE 等,以下是一些示例:
發(fā)送一個(gè) POST 請求:
$.ajaヾ(′?`)?x(??{ url: "https://api.examp??le.com/data", type: "POST", data: JSON.stringify({ key: "value" }), // 要發(fā)送到服務(wù)器的數據,可以是(shi)對象或字符串等格式 contentType: "application/json; charseヽ(′?`)ノt=utf??8", // 根據數據類(lèi)型設置適┐(′?`)┌當的 MIME 類(lèi)型 dataType: "json", success: function (data) { console.log("請求成功,返回的數據:&(′?`*)quot;, data); // 在這里處理返回的數據,例如更新網(wǎng)頁(yè)內容 }, error: function (jqXHR, textSt(′?ω?`)atus, errorThrow??n) { console.log("請求(╯°□°)╯失敗,錯誤信息:", textStatus, errorThrown); // 在這里處理錯誤ヽ(′ー`)ノ情況,例如顯示錯誤提示信息 }});發(fā)送一個(gè) PUT 請求:
$.ajax({ url: "https://a(′?`)pi.example.com/data/1", // PUT 請求通常用于更新特定資源,因此需要指定資源的 ID type: &q??uot;(???)PUT", data: JSON.stringify({ key: "new_value" }), // 要發(fā)送到服務(wù)(wu)器的數據,可以是對象或字符串等格式 content(???)Type: "application/j(′?_?`)son; charset=utf8", // 根據數據類(lèi)型設置??適當的 MIME 類(lèi)型 dataType: "json", success: function (data) { console.log((╯‵□′)╯"請求成功,返回的數據:", data);?? // 在這里處理返回的數據,例如更新網(wǎng)頁(yè)內容 }, error: function (jqXHR, textStatus, errorThrown) { console.log("請求失敗,錯誤信息:", textStatus, errorThrown); // 在這里處理錯誤情況,例如顯示錯誤提示信息 }});4、處理不同類(lèi)型的響應數據
根據服務(wù)器返回的數據類(lèi)型,你可能需要處理不同類(lèi)型的響應數據,以下是一些示例:
如果服務(wù)器返回的是 JSON 數據:??
success: function (data) { console.log("請求成功,返回的數據:", data); // 如果返回的數據是數組,可以遍歷數組并處理每個(gè)元素: data.forEach(function (item) { console.log("數組元素:", item); // 根據需要處理數組元素,例如更新網(wǎng)頁(yè)內容??等操作 });},如果服務(wù)器返回的是 HTML 數據:
success: function (data) { console.log("請求成功,返回的數據:", data); // 如果返回的數據包含 HTML,可以使用 jinput() 方法將其插入到指定的元素中: $((′_`)"body").html(data); // 如果返回的是整個(gè) HT??ML,可以將其設置為 body 的內容;如果僅需要插入某個(gè)元素,請根據實(shí)際情況修改選擇器。},5、AJAX Prefilters(預過(guò)濾器)和 Global AJAX Event(全局 AJA(′_`)X 事件)