1. 什么是AJAX,為什么要使用AJAX(請談一下你對AJAX的認識) 什么是ajax:AJAX是“Asynchronous JavaScript and XML”的縮寫。他是指一種創建交互式網頁應用的網頁開發技術。
Ajax包含下列技術: 基於web標准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)進行動態顯示及交互; 使用 XML 和 XSLT 進行數據交換及相關操作; 使用 XMLHttpRequest 進行異步數據查詢、檢索; 使用 JavaScript 將所有的東西綁定在一起。
為什么要用ajax:Ajax應用程序的優勢在於: 1. 通過異步模式,提升了用戶體驗 2. 優化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用 3. Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。
2. AJAX的最大的特點是什么。 Ajax可以實現動態不刷新(局部刷新) 就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,並避免了在網絡上發送那些沒有改變過的信息。
3. 請介紹一下XMLHTTPREQUEST對象? Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務器提出請求並處理響應,而不阻塞用戶。通過XMLHttpRequest對象,Web開發人員可以在頁面加載以后進行頁面的局部更新。
4. AJAX技術體系的組成部分有哪些?
HTML,css,dom,xml,xmlHttpRequest,javascript
5. AJAX應用和傳統WEB應用有什么不同?
在傳統的Javascript編程中,如果想得到服務器端數據庫或文件上的信息,或者發送客戶端信息到服務器,需要建立一個HTML form然后GET或者POST數據到服務器端。用戶需要點擊”Submit”按鈕來發送或者接受數據信息,然后等待服務器響應請求,頁面重新加載。 因為服務器每次都會返回一個新的頁面, 所以傳統的web應用有可能很慢而且用戶交互不友好。 使用AJAX技術, 就可以使Javascript通過XMLHttpRequest對象直接與服務器進行交互。 通過HTTP Request, 一個web頁面可以發送一個請求到web服務器並且接受web服務器返回的信息(不用重新加載頁面),展示給用戶的還是通一個頁面,用戶感覺頁面刷新,也看不到到Javascript后台進行的發送請求和
接受響應。
6. AJAX請求總共有多少種CALLBACK Ajax請求總共有八種Callback onSuccess onFailure onUninitialized onLoading onLoaded onInteractive onComplete onException
7. 7.AJAX和JAVASCRIPT的區別? javascript是一種在瀏覽器端執行的腳本語言,Ajax是一種創建交互式網頁應用的開發技術 ,它是利用了一系列相關的技術其中就包括javascript。 Javascript是由網景公司開發的一種腳本語言,它和sun公司的java語言是沒有任何關系的,它們相似的名稱只是一種行銷策略。 在一般的web開發中,javascript是在瀏覽器端執行的,我們可以用javascript控制瀏覽器的行為和內容。 在 Ajax應用中信息是如何在瀏覽器和服務器之間傳遞的 通過XML數據或者字符串
8. 在瀏覽器端如何得到服務器端響應的XML數據 XMLHttpRequest對象的responseXMl屬性
9. XMLHTTPREQUEST對象在IE和FIREFOX中創建方式有沒有不同? 有,IE中通過NEW ACTIVEXOBJECT()得到,FIREFOX中通過NEW XMLHTTPREQUEST()得到
10, 介紹一下XMLHTTPREQUEST對象的常用方法和屬性(回答的越多越好) open(“method”,”URL”) 建立對服務器的調用,第一個參數是HTTP請求 方式可以為GET,POST或任何服務器所支持的您想調用的方式。 第二個參數是請求頁面的URL。
send()方法,發送具體請求 abort()方法,停止當前請求 readyState屬性 請求的狀態 有5個可取值 0=未初始化 ,1=正在加載 2=以加載,3=交互中,4=完成 responseText 屬性 服務器的響應,表示為一個串 reponseXML 屬性 服務器的響應,表示為XML status 服務器的HTTP狀態碼,200對應ok 400對應not found
11,AJAX的優點和缺點 使用Ajax的最大優點,就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,並避免了在網絡上發送那些沒有改變過的信息。 對應用Ajax最主要的缺點就是,它可能破壞瀏覽器后退按鈕的正常行為 因為Ajax中采用了xml技術,所以在Ajax中也可能問到XML的問題
12,什么是XML XML是擴展標記語言,能夠用一系列簡單的標記描述數據
13,XML的解析方式 常用的用dom解析和sax解析。dom解析是一次性讀取xml文件並將其構造為DOM對象供程序使用,優點是操作方便,但是比較耗內存。Sax是按事件驅動的方式解析的,占用內存少,但是編程復雜
14,你采用的是什么框架(架包)? 這題是必問的,一般也是最開始就會問到。 在java中比較流行的有 dojo, Prototype , JQuery, Dwr, extjs 等等
15,如果熟悉某種AJAX框架,他可能會問到怎樣在程序中使用這種框架 DWR框架介紹 ? DWR(Direct Web Remoting)是一個WEB遠程調用框架.利用這個框架可以讓AJAX 開發變得很簡單.利用DWR可以在客戶端利用JavaScript直接調用服務端的Java方法並返回值給JavaScript就好像直接本地客戶端調用一樣(DWR根據Java類來動態生成JavaScrip代碼). ? DWR的實現原理是通過反射,將java翻譯成javascript,然后利用回調機制,從而 實現了javascript調用Java代碼
16,介紹一下PROTOTYPE的$()函數,$F()函數,$A()函數都是什么作用? $() 方法是在DOM中使用過於頻繁的 document.getElementById() 方法的一個便利的簡寫,就像這個DOM方法一樣,這個方法返回參數傳入的id的那個元素。 $F()函數是另一個大收歡迎的“快捷鍵”,它能用於返回任何表單輸入控件的值,比如text box,drop-down list。這個方法也能用元素id或元素本身做為參數。$A()函數能把它接收到的單個的參數轉換成一個Array對象。
dom里添加、刪除、移動、復制、創建節點的方法:appendChild removeChild cloneNode createAttribute
優雅降級與漸進增強的區別:
優雅降級指的是:一開始就制定完美的計划,然后先在主流的瀏覽器中測試實現功能,最后在老一點版本,不常用的版本中測試實現,如果不能完全達到我們的要求,這時我們的原則是盡量去實現,如果還是沒辦法,那就適當減少功能,在這個過程中,我們可能會用到特性檢測(特性檢測指的是測試瀏覽器是否支持某個特性或者方法);
漸進增強指的是:在最初的時候先實現基本的功能,然后在今后的版本中逐步增加功能,主要強調的是內容的趨於完善。
優雅降級強調往回看,漸近增強指的是往前看,不過二者都是要保證最基本的功能要實現