javascript -Ajax基礎入門


javascript -Ajax基礎入門

1. 什麼是Ajax ?

a) 無刷新的數據讀取;

2. 關於瀏覽器緩存:

a) 緩存機制:根據地址來緩存,同樣地址只讀一次;

b) 解決緩存困擾:在文件名後加上一個時間戳參數;保存每次讀取文件的路徑都不一樣,這樣瀏覽器就不會去緩存中拿而去讀新的;

3. Ajax請求動態數據:

a) 請求JSON文件;

b) Ajax 從服務器上所讀取的所有東西都是以文本的形式存在的;

c) eval的使用,將返回的string轉換成arr,或json;

d) 配合DOM使用;

4. eval_r(str):

a) 接受一個字符串作為參數,這個字符串裡面可以放任何JS代碼;

b) eval可以計算字符串裡的值;

5. Ajax的原理:

a) HTTP 請求:

i. GET方式:安全性低、容量小,但便於分享,更適合獲取數據;(如: 瀏覽帖子)

ii. POST方法:更適合上傳數據;(如:用戶註冊)

iii. Get方式會緩存,因為要從服務器上讀東西;Post方式不會緩存東西的;

6. Ajax請求服務器數據的4個步驟:

a) 創建一個Ajax對象 (買個手機);

i. 非IE6 : new XMLHttpRequest();

ii. IE6 : new ActiveXObject("Microsoft XMLHTTP");

b) 連接服務器(撥號);

c) 發送請求,告訴服務器要什麼(說話);

d) 接收返回值(聽);

7. Ajax對象創建的兼容處理:

a) 用if (window.XMLHttpRequest) 取代if (XMLHttpRequest)

b) 原理:

i. 用一個不存在的變量: 出錯;

ii. 用一個不存在的屬性:undefined;

8. Ajax連接服務器:

a) oAjax.open(方法,url, 是否為異步bool);

b) 方法:大多用”Get”;

c) 同步與異步:

i. 同步:任何兩件事不能一塊兒做;

ii. 異步: 多件事兒可以一起進行;Ajax天生就該工作在異步模式下的;

9. Ajax發送請求:

a) oAjax.send();

10.Ajax接收服務器的返回信息:

a) oAjax.onreadystatechange 事件:

i. 它類似於window.onload;

ii. 用來監控請求狀態;

iii. 是當客戶端和服務器那邊有通信發生或有狀態變化的時候會來調用;

iv. 客戶端和服務器的通信不是一步就完成的;

v. oAjax.readyState屬性:告訴我們客戶端和服務器的通信發生到哪一步了; 4 代表完成;

vi. oAjax.readyState == 4 , 只代表完成,不代表成功;

vii. oAjax.status == 200 , 代表成功;

viii. oAjax.status , 400多是客戶端錯誤, 500多是服務器錯誤, 300多是重定向;

ix. oAjax.responseText , 就是取得服務器發回的內容;

11.編寫Ajax庫:

javascript -Ajax基礎入門


分享到:


相關文章: