1. 程式人生 > >基礎知識點複習——AJAX

基礎知識點複習——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(

Msxml2.XMLHTTP);

如果不是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(){}