国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

Ajax學習筆記---3種Ajax的實現(xiàn)方法【推薦】

2024-09-01 08:28:02
字體:
供稿:網(wǎng)友

Ajax:  Asynchronous JavaScript and Xml , 異步js腳本和xml , 常用來實現(xiàn)頁面局部的異步刷新, 對提高用戶體驗有很大幫助. Xml在多語言時較有優(yōu)勢, 但Ajax技術實際上較多采用Json對象而不是Xml來處理數(shù)據(jù).

(一) Ajax歷史....了解性知識

Ajax歸屬于Web前端開發(fā)技術, 與javascript有著異常緊密的聯(lián)系. Ajax就是一種實現(xiàn)異步通信無刷新的技術, 而這種技術可以有很多種實現(xiàn)方式. 瀏覽器的鼻祖網(wǎng)景(NetScape)公司最早發(fā)明了LiveScript腳本語言, 用來豐富網(wǎng)頁元素的表現(xiàn)形式, 使網(wǎng)頁能夠呈現(xiàn)出動態(tài)效果. 隨后的歷次改版升級后就誕生了JavaScript語言, 與此同期微軟(Microsoft)公司也看到互聯(lián)網(wǎng)的前景, 開始涉足并發(fā)力于互聯(lián)網(wǎng)行業(yè), 推出了JScript語言, 可惜沒有JavaScript成熟, 發(fā)展遲滯. 最終微軟公司對互聯(lián)網(wǎng)的決心促成了MS對NS的漫長曲折的收購歷程.

這里提一下, 動態(tài)HTML語言(Dynamic Hyper Text Markup Language)就是將javascript放在Dom樹的元素節(jié)點中, 為元素提供動態(tài)展示行為.

 

(二)Web前端開發(fā)的兩個思路: a. JavaScript + XHR + CSS b. Flash ---> 瀏覽器插件 ---> Flex(Adobe); Silverlight4.0(MS)

1. Ajax: 以MS的XHR(XMLHttpRequest)為核心 ---> Ajax

2. flash: MicroMedia ---> 被Adobe收購 ---> flex (涵蓋了ActionScript和Rich Internet Application等技術的組合)

3. SilverLight: 微軟為了抗衡flex而推出的SilverLight

備注:

為了能夠在后臺異步與服務器進行通訊, 微軟在IE中添加了兩個組件: 負責與服務器通訊的組件(XMLHTTPRequest)和XML的處理組件. 采用XML作為數(shù)據(jù)交換的載體, 在多語言處理時具有優(yōu)勢, 但xml的處理成本較高, 實際上Ajax中通常采用Json對象在客戶端瀏覽器和服務器之間傳遞數(shù)據(jù).

網(wǎng)頁的生成過程其實是由服務器上的一組程序來完成的, 這樣為了在客戶端的JS語言和服務器端的C#語言傳遞數(shù)據(jù), .Net提供了Json序列化和反序列化器, 來提供服務器端C#對象和Json對象之間的轉(zhuǎn)換. 而在瀏覽器端可以使用eval()函數(shù)獲取服務器傳遞過來的Json串轉(zhuǎn)化為Json對象.

 

(三)Ajax解決什么問題

我們都知道, 在客戶端向服務器請求一個頁面時, 服務器首先動態(tài)的計算并生成出頁面, 然后再發(fā)給客戶端. 客戶端瀏覽器順序編譯并呈現(xiàn)頁面.

在沒有Ajax時: 假如說頁面有個用戶驗證控件, 那么在客戶端瀏覽器呈現(xiàn)用戶驗證控件時, 會等待服務器的驗證結(jié)果, 收到結(jié)果后才能繼續(xù)呈現(xiàn)頁面元素. 而這個驗證過程通常要進行讀取數(shù)據(jù)庫等操作, 這就是所謂的同步方式. 而這種方式, 會造成網(wǎng)頁呈現(xiàn)的假死狀態(tài).

在使用Ajax后: 同樣是驗證控件, 客戶端提交了驗證請求后, 便繼續(xù)順序呈現(xiàn)其他元素. 當取得驗證結(jié)果后, 由javascript在客戶端修改內(nèi)存中的DOM對象后并呈獻給用戶(注意: 這里修改的只是內(nèi)存中的DOM對象, 而客戶端接收的頁面文件并沒有修改). 這樣, 使用異步的方式, 就不會出現(xiàn)假死狀態(tài), 同時客戶端也節(jié)省了等待服務器返回結(jié)果時的時間開銷.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛宁县| 黔江区| 天祝| 呼玛县| 科技| 巴马| 内黄县| 石楼县| 桂林市| 枣强县| 三明市| 彭泽县| 芦山县| 西盟| 错那县| 竹北市| 西乡县| 白玉县| 类乌齐县| 成安县| 扶风县| 东兰县| 金山区| 布尔津县| 萍乡市| 威远县| 万安县| 堆龙德庆县| 扎鲁特旗| 曲松县| 大港区| 黑山县| 柳林县| 德惠市| 库尔勒市| 宜良县| 武汉市| 南宫市| 江川县| 原平市| 宝山区|