一. Ajax是怎么在瀏覽器和服務(wù)器之間傳遞信息的?
通過XML數(shù)據(jù)或者字符串
- 在瀏覽器端如何得到服務(wù)器端響應(yīng)的XML數(shù)據(jù):
XMLHttpRequest對象的responseXML屬性 - XMLHttpRequest對象在IE和Firefox中創(chuàng)建方式的不同之處?
- IE中通過new ActiveXObject()實例化一個xhr對象;
- Firefox中通過new XMLHttpRequest()實例化的;
二. XMLHttpRequest對象都有哪些常用方法和屬性?
方法:
- open(“method”,”URL”);
- 建立對服務(wù)器的調(diào)用;
- 第一個參數(shù)
method, 是HTTP請求方式;- 可以為GET,POST或任何服務(wù)器所支持的您想調(diào)用的方式;
- 第二個參數(shù)是請求頁面的URL地址,或者文件在服務(wù)器上的地址;
- send()方法,發(fā)送具體請求;
- 涉及到GET與POST的傳參問題;
- abort()方法,停止當(dāng)前請求,(不常用);
屬性:
- readyState屬性;
- 請求的狀態(tài)有5個可取值:
- 0=未初始化 ;
- 1=正在加載;
- 2=已加載;
- 3=交互中;
- 4=完成;
- 請求的狀態(tài)有5個可取值:
- responseText 屬性 , 服務(wù)器的響應(yīng),返回的是一個串;
- reponseXML 屬性, 服務(wù)器的響應(yīng),返回為XML格式;
- status屬性,服務(wù)器的HTTP狀態(tài)碼,200代表ok, 404就是常見的not found-頁面找不到;
三. 什么是XML?
因為Ajax中采用了xml技術(shù),所以在Ajax中也可能問到XML的問題,之前問我都用過什么格式的數(shù)據(jù),我說最常用的就是json格式,然后對方接著追問,換有沒有其他的,我知道他想問xml,然而我只是了解,并不會,果斷一句話帶過,接著開始巴拉巴拉json,都特么讓你問不會的,那還了得?。?/p>
XML是擴展標記語言,能夠用一系列簡單的標記描述數(shù)據(jù);
對于那些能把天聊死的HR,我也是只能默默的掏出我的屠龍刀了,放個大,果斷跑,只要套路深,...
四. xml的解析方式?
常用的有dom解析和sax解析;
- dom解析是一次性讀取xml文件并將其構(gòu)造為DOM對象供程序使用;
- 優(yōu)點是操作方便,但是比較耗內(nèi)存;
- Sax是按
事件驅(qū)動的方式解析的,占用內(nèi)存少,但是編程復(fù)雜;
五. 說完優(yōu)點,你不得說它有啥缺點,這樣做人才比較完美?
- 最大的一點是頁面無刷新,用戶的體驗非常好;
- 使用異步方式與服務(wù)器通信,具有更加迅速的響應(yīng)能力;
- 可以把以前一些服務(wù)器負擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器和帶寬的負擔(dān),節(jié)約空間和寬帶租用成本;
- 并且減輕服務(wù)器的負擔(dān),ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請求,和響應(yīng)對服務(wù)器造成的負擔(dān);
- 基于標準化的并被廣泛支持的技術(shù),不需要下載插件或者小程序;
ajax的缺點:
- ajax不支持瀏覽器back按鈕;
- 安全問題 AJAX暴露了與服務(wù)器交互的細節(jié);
- 對搜索引擎的支持比較弱;
- 破壞了程序的異常機制;
- 不容易調(diào)試;
Ajax最大的缺點?
Ajax最主要的缺點就是,它破壞瀏覽器后退按鈕的正常行為,也就是頁面不能使用瀏覽器的goback返回鍵;