AJAX基礎知識點學?

來源:互聯網
上載者:User

標籤: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,是否發起非同步請求

send(data)
參數 
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基礎知識點學?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.