經典的20道AJAX面試題(必知必會)_AJAX相關

來源:互聯網
上載者:User

1、什麼是AJAX,為什麼要使用Ajax(請談一下你對Ajax的認識)

什麼是ajax:

AJAX是“Asynchronous JavaScript and XML”的縮寫。他是指一種建立互動式網頁應用的網頁開發技術。

Ajax包含下列技術:

基於web標準(standards-basedpresentation)XHTML+CSS的表示;

使用 DOM(Document ObjectModel)進行動態顯示及互動;

使用 XML 和 XSLT 進行資料交換及相關操作;

使用 XMLHttpRequest 進行非同步資料查詢、檢索;

使用 JavaScript 將所有的東西綁定在一起。

2、為什麼要用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.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中通過newXMLHttpRequest()得到

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

12、什麼是XML

XML是擴充標記語言,能夠用一系列簡單的標記描述資料

13、XML的解析方式

常用的用dom解析和sax解析。dom解析是一次性讀取xml檔案並將其構造為DOM對象供程式使用,優點是操作方便,但是比較耗記憶體。Sax是按事件驅動的方式解析的,佔用記憶體少,但是編程複雜

14、你採用的是什麼架構(架包)

這題是必問的,一般也是最開始就會問到。

在java中比較流行的有 dojo, Prototype , JQuery, Dwr, extjs 等等

15、如果熟悉某種ajax架構,他可能會問到怎樣在程式中使用這種架構

DWR架構介紹

DWR(DirectWeb 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()函數是另一個大收歡迎的“快速鍵”,它能用於返回任何錶單輸入控制項的值,比如textbox,drop-down list。這個方法也能用元素id或元素本身做為參數。

$A()函數能把它接收到的單個的參數轉換成一個Array對象。

17、介紹一下XMLHttpRequest對象

通過XMLHttpRequest對象,Web開發人員可以在頁面載入以後進行頁面的局部更新。

AJAX開始流行始於Google在2005年使用的”Google Suggest”。

“Google Suggest”就是使用XMLHttpRequest對象來建立動態Web介面:

當使用者開始輸入google的搜尋方塊,Javascript發送使用者輸入的字元到伺服器,然後伺服器返回一個建議列表。

XMLHttpRequest對象在IE5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8+ 和NetScapt7 開始被支援。

18、AJAX的全稱是什嗎? 介紹一下AJAX?

AJAX的全稱是Asynchronous JavaScript And XML.

AJAX是2005年由Google發起併流行起來的編程方法, AJAX不是一個新的程式設計語言,但是它是一個使用已有標準的新的編程技術。

使用AJAX可以建立更好,更快,更使用者介面友好的Web應用。

AJAX技術基於Javascript和HTTP Request.

19、Ajax主要包含了哪些技術?

Ajax(Asynchronous JavaScript + XML)的定義

基於web標準(standards-based presentation)XHTML+CSS的表示;

使用 DOM(Document Object Model)進行動態顯示及互動;

使用 XML 和 XSLT 進行資料交換及相關操作;

使用XMLHttpRequest 進行非同步資料查詢、檢索;
使用 JavaScript 將所有的東西綁定在一起。英文參見Ajax的提出者Jesse James Garrett的原文,原文題目(Ajax: A New Approach to

Web Applications)。

類似於DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基於AJAX的“派生/合成”式(derivative/composite)的技術正在出現,如“AFLAX”。

AJAX的應用使用支援以上技術的web瀏覽器作為運行平台。這些瀏覽器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支援XSL格式對象,也不支援XSLT。

20、AJAX都有哪些優點和缺點?

1、最大的一點是頁面無重新整理,使用者的體驗非常好。

2、使用非同步方式與伺服器通訊,具有更加迅速的響應能力。

3、可以把以前一些伺服器負擔的工作轉嫁到用戶端,利用用戶端閑置的能力來處理,減輕伺服器和頻寬的負擔,節約空間和寬頻租用成本。並且減輕伺服器的負擔,ajax的原則是“按需取資料”,可以最大程度的減少冗餘請求,和響應對伺服器造成的負擔。

4、基於標準化的並被廣泛支援的技術,不需要下載外掛程式或者小程式。

ajax的缺點

1、ajax不支援瀏覽器back按鈕。

2、安全問題 AJAX暴露了與伺服器互動的細節。

3、對搜尋引擎的支援比較弱。

4、破壞了程式的異常機制。

5、不容易調試。

以上所述是小編給大家介紹的經典的20道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.