基礎知識點複習——AJAX
ajax
一、模糊查詢
--要求查詢inf表中所有名字中帶小的資訊
select*frominfwherenamelike'%小%'
--查詢以小開頭名稱的所有inf資訊
select*frominfwherenamelike'小%'
--查詢以小結束名稱的所有inf資訊
select*frominfwherenamelike'%小'
--查詢所有帶黑子的inf資訊
select*frominfwherenamelike'%黑%'
--查詢id中包含1的inf資訊
select*frominfwhereidlike'%1%'
二、Ajax
1.什麼是ajax?
Ajax稱為“非同步刷新技術”或者“區域性刷新技術”,它的作用是不提交整個頁面的情況下,實現區域性資料的重新整理。
2.什麼是非同步請求,什麼是同步請求?
同步請求:客戶端向伺服器發出請求,必須等待伺服器的響應,處理完伺服器返回的結果之後,才可以繼續想伺服器傳送請求。
非同步請求:客戶端向伺服器發出請求,自己不需要等待伺服器的返回結果,而是委託一個方法對返回的結果進行處理,不論伺服器是否有結果返回,都可以繼續再向伺服器發出請求。
綜上所述:非同步請求效能上會比同步請求好一些
三、ajax是通過什麼機制實現前臺後臺的互動?
ajax之所以可以處理非同步請求,是通過瀏覽器產生了一個“核心物件”來進行非同步請求處理(XMLHttpRequest)
不同的瀏覽器,產生的核心物件不同。
IE瀏覽器產生核心物件的方法:
Var 核心物件變數名 = new ActiveXObject(
如果不是IE瀏覽器,產生核心物件的方法為:
Var 核心物件變數名 = new XMLHttpRequest();//非IE瀏覽器,ie7以上也可以。
判斷瀏覽器的版本
window.XMLHttpRequest屬性返回的是true,表示這個瀏覽是ie7以上的版本或者是其他瀏覽器。
var req = null;//建立一個全域性變數,儲存核心物件
if(window.XMLHttpRequest){
req = new XMLHttpRequesr();
}else{
req = new ActiveXObject(“Msxml2.XMLHTTP”);
}
XMLHttpRequest 物件是開發者的夢想,因為它可以:
在不重新載入頁面的情況下更新頁面
在頁面已載入後從伺服器請求資料
在頁面載入後從伺服器接收資料
在後臺對伺服器傳送資料
四、ajax的實現細節
1.建立一個web工程
2.在jsp頁面編寫一個文字框控制元件
3.編寫一個js檔案,關聯到jsp中
4.在js檔案中,定義一個全域性變數,用於儲存ajax的核心物件
5.在js檔案中,編寫一個函式,用於建立ajax的核心物件
6.建立一個servlet,用於處理客戶傳送的請求
7.在jsp頁面中的文字框中,通過onkeyup事件把當前文字框的值,帶入到js檔案的show函式
<input type=”text” name=”name” onkeyup=”show(this.value)”/>
8.在js檔案中編寫show函式
function show(uname){
var url = “myajax?y=”+uname;//將jsp頁面的引數傳遞到servlet中
mysend(url);//呼叫自定義的函式,準備傳送請求
}
9.編寫mysend函式,傳送非同步請求
function mysend(url){
//1.傳送非同步請求,首先需要建立ajax的核心物件
creatReq();
//2.建立一個連線,純白髮送非同步請求
req.open("get",url,true);//請求方式,訪問路徑
//3.指定函式,對返回的結果進行處理——回撥函式
req.onreadystatechange = abc;
//傳送請求
req.send(null);
}
10.編寫回調函式
function abc(){}