jQuery是一種非常流行的JavaScript庫(kù),它有許多實(shí)用的功能,其中最常見(jiàn)的是使用它來(lái)進(jìn)行AJAX編碼。AJAX是一種技術(shù),它可以使我們?cè)诓凰⑿抡麄€(gè)頁(yè)面的情況下向服務(wù)器進(jìn)行數(shù)據(jù)交互。使用jQuery編寫(xiě)AJAX代碼非常簡(jiǎn)單,我們只需為每個(gè)請(qǐng)求定義一個(gè)回調(diào)函數(shù)即可。
$.ajax({ url: "backend.php", type: "POST", data: {name: "John", location: "Boston"}, success: function(result){ //處理服務(wù)器返回的數(shù)據(jù) console.log(result); }, error: function(){ //請(qǐng)求失敗時(shí)的處理 console.log("Request failed."); } });
上面代碼中,我們使用$.ajax()函數(shù)來(lái)發(fā)起AJAX請(qǐng)求,其中包括了請(qǐng)求的url、請(qǐng)求類型、請(qǐng)求的數(shù)據(jù)等信息?;卣{(diào)函數(shù)success和error是必須定義的。當(dāng)請(qǐng)求成功時(shí),success回調(diào)函數(shù)會(huì)被觸發(fā),并獲得服務(wù)器返回的數(shù)據(jù);當(dāng)請(qǐng)求失敗時(shí),error回調(diào)函數(shù)會(huì)被觸發(fā)。
$.post("backend.php", {name: "John", location: "Boston"}, function(result){ console.log(result); });
如果我們只需要使用POST方式將數(shù)據(jù)發(fā)送給服務(wù)器,并在成功時(shí)接收服務(wù)器返回?cái)?shù)據(jù),可以使用更簡(jiǎn)潔的 $.post()方法。其中,函數(shù)中的參數(shù)分別為請(qǐng)求的url、請(qǐng)求數(shù)據(jù)和成功時(shí)的回調(diào)函數(shù)。
$(document).on("click", ".delete-btn", function(){ var id = $(this).attr("data-id"); $.ajax({ url: "remove.php", type: "POST", data: {id: id}, success: function(result){ //刪除DOM中對(duì)應(yīng)的元素 $(this).parent().remove(); }.bind(this) }); });
最后,一個(gè)常見(jiàn)的問(wèn)題是如何操作DOM元素來(lái)更新頁(yè)面,以此反映服務(wù)器端的響應(yīng)結(jié)果。在上面的代碼中,我們?yōu)閯h除按鈕綁定了點(diǎn)擊事件。在點(diǎn)擊事件的處理函數(shù)中,我們獲取了被刪除元素的ID,然后使用AJAX向服務(wù)器發(fā)送刪除請(qǐng)求。在成功回調(diào)函數(shù)中,我們使用this來(lái)獲取相應(yīng)的DOM元素并刪除它。