JQuery的AJAX是在不刷新頁(yè)面的情況下,向服務(wù)器發(fā)送數(shù)據(jù),獲取數(shù)據(jù)并更新頁(yè)面,這在實(shí)際開(kāi)發(fā)中非常實(shí)用。
AJAX是一種在不刷新整個(gè)頁(yè)面的情況下更新部分頁(yè)面內(nèi)容的技術(shù),AJAX的全程是 Asynchronous JavaScript and XML,即使用異步JavaScript和XML。
jQuery封裝了AJAX的核心函數(shù),使我們用起來(lái)更加方便。下面是jQuery的AJAX的實(shí)現(xiàn)原理:
$.ajax({ type: "POST", url: "url地址", data: {數(shù)據(jù)}, success: function(返回?cái)?shù)據(jù)){ 處理返回?cái)?shù)據(jù); } });
使用jQuery的ajax函數(shù),我們向服務(wù)器發(fā)送了一個(gè)POST請(qǐng)求,請(qǐng)求的URL為"url地址",發(fā)送的數(shù)據(jù)為"{數(shù)據(jù)}"。如果請(qǐng)求成功,我們會(huì)得到"data",它會(huì)傳遞到一個(gè)回調(diào)函數(shù)中,我們可以在回調(diào)函數(shù)中對(duì)這些數(shù)據(jù)進(jìn)行處理。
但是jQuery的AJAX底層封裝的并不是XML,而是采用了更加靈活且方便的JSON格式。當(dāng)我們使用jQuery的AJAX時(shí),可以通過(guò)指定dataType參數(shù),來(lái)指定服務(wù)器返回的數(shù)據(jù)類(lèi)型,dataType可以是:"xml"、"json"、"script"、"jsonp"、"html"、"text"等。
在底層,jQuery的AJAX使用XMLHttpRequest對(duì)象來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸,如果瀏覽器不支持XMLHttpRequest對(duì)象,jQuery會(huì)使用ActiveXObject對(duì)象來(lái)模擬實(shí)現(xiàn)。一般來(lái)說(shuō),大多數(shù)現(xiàn)代瀏覽器都支持XMLHttpRequest對(duì)象,所以我們不需要考慮這個(gè)問(wèn)題。