標籤:style blog http color io os 使用 ar java
1、AJAX(Asynchronous JavaScript and XML)即,非同步JavaScript和XML
2、同步/非同步差別
同步:①每次進行整個頁面的重新整理②同步的連結在同一時間僅僅能有一個,它的運行會阻止興許JS的運行,JS必須在同步連結運行完成後才幹繼續運行。非同步:①每次僅僅重新整理須要更新的部分②能夠發生多個,同一時候,不會阻止JS執行 |
3、非同步載入/AJAX的特點及優勢
① 局部重新整理,按需載入,僅僅有頁面中真正改變的部分得到更新; ② 可以減少server的資料流量,頁面在更新,使用者可以繼續工作 ③ 瀏覽器可以從server端同一時候請求多項內容 ④ 每次傳遞的流量相對是比較小的,瀏覽器請求返回速度快一些 |
4、不能整個頁面所有使用AJAX進行資料申請的原因?
由於不利於SEO,標籤內部都是空的,SEO抓取不到,對於頁面中比較重要的資訊,通常使用靜態 |
5、AJAX幾個基本API
①new XMLHttpRequest() (IE5 和 IE6 使用 ActiveXObject)。 ②open() ③send() ④onload() ⑤responseText() |
老版本號碼的 Internet Explorer (IE5 和 IE6)使用 ActiveX 對象:variable=new ActiveXObject("Microsoft.XMLHTTP"); 為了應對全部的現代瀏覽器,包含 IE5 和 IE6,請檢查瀏覽器是否支援 XMLHttpRequest 對象。假設支援,則建立 XMLHttpRequest 對象。假設不支援,則建立 ActiveXObject : var xmlhttp;if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } |
open(method,url,asyn) 確定即將連結的網址及方式 參數method:String 採用post/get形式請求url:String, 要連結的網址asyn:Boolean,是否發起非同步請求 |
?
6、非同步載入的幾個基本步驟
<script> var url = ‘2.html‘; // 建立請求 var xhr = new XMLHttpRequest(); // 確定請求的方式以及請求的地址 xhr.open(‘post‘,url,true); // 發生請求 xhr.send(null); // server端載入完畢 xhr.onload = function() { document.writeln(xhr.responseText); } </script> |
7、
AJAX僅僅能處理文本類的檔案,對於圖片不能處理8、innerHTMl中script代碼是不會被啟動並執行,AJAX返回的是字串
eval的作用:讓字串當做JS去運行,假設遇到innerHTML中JS不啟動並執行問題,須要使用eval方法,可是,效能不好,同一時候在JS的嚴格模式和非嚴格模式下存在不同,在項目和代碼中盡量少出現. xhr.onload = function() { con.innerHTML=xhr.responseText; /*con下的script*/ var cons = con.getElementsByTagName(‘script‘); for (var i = 0; i < cons.length; i++) { eval(cons[i].innerHTML); }; } |
/* * a、直接在對象data後面加點。再加屬性就可以; * b、採用[ ]的方式訪問,有點類似數組,只是是通過key去索引; */ var json = ‘{"a":"HTML5自由者", "b":"黃藝斌"}‘; var data = eval("("+json+")"); alert(data.a); // 彈出: HTML5自由者 alert(data[‘b‘]); // 彈出: 黃藝斌 |
假設每一個tab切換都用一個文本格式來建立則要求建立非常多,這時候須要用到資料格式JSON或者XML
9、?資料格式JSON 與 XML都是常見的資料格式
JSON(JavaScript Object Notation)輕量級資料格式,直譯為JavaScript對象符號XML是一種可延伸標記語言 (XML),與HTML都是標記語言 |
10、?
JSON優劣勢:
JSON的優勢 |
JSON的劣勢 |
① 輕量級,體積小,節省流量,提高負載入速度 ② 解析成原生JS對象,解析比XML更快 ③ 尋找資料無需尋找標籤,更快 |
在古老的瀏覽器如IE7-中不支援原生JSON解析,須要引入第三方庫的支援 |
JSON/XML辨析:
①可讀性:兩者都有非常長的可讀性,XML資料嚴格遵循XML DOM模型規範,JSON嚴格遵循JS語言文法 ②可擴充性:XML資料通過自己定義標籤,能夠設計更複雜的資料嵌套結構,而JSON能夠通過數組和對象的無窮組合也能夠類比隨意XML資料結構。 ③編碼難度:XML有豐富的編碼工具(如Dom4j、jDom等),JSON也有json.org提供的工具,可是JSON編碼明顯比XMLeasy,即使不藉助工具也能夠手寫JSON代碼,可是要手寫XML文檔就很困難。 ④解碼難度:XML資料解析需考慮結構層次及節點關係,解析難度很大,JSON資料不存在解析難度 ⑤檔案大小:相同的資料,XML檔案大小大於JSON檔案體積大小 |
11、JSON常見形式:對象、數組
JSON數組的寫法: 數組是一個有序的值的集合
|
JSON對象的寫法: 對象是一個無序的"名/值"對的集合
|
12、JSON資料的內容
JSON中資料內容通過值來表示:字串、數值、邏輯值、null、對象、數組
* 字串必須使用雙引號括起來 * 數值能夠直接引用,不須要加入?引號 * 邏輯值僅包括true和false,直接引用,不須要加入?引號 * 在JSON資料中,分隔字元(空格,定位字元和分行符號)是不被解析的,因此可在任何位置添加?空白 |
13、JSON資料類型轉換
JSON.parse(string); 將json字串string轉換為js對象JSON.stringify(obj); 將JS對象轉換為JSON字串 |
轉載請註明出處:
CSDN部落格--HTML5自由者 http://blog.csdn.net/html5_
AJAX基礎知識點學?