AJAX筆試面試題彙總

Javascript

轉載自http://mianshiti.diandian.com/post/2013-05-01/40050873257javascript

1. 什麼是ajax,爲何要使用Ajax(請談一下你對Ajax的認識) css

什麼是ajax: java

AJAX是「Asynchronous JavaScript and XML」的縮寫。他是指一種建立交互式網頁應用的網頁開發技術。 web

Ajax包含下列技術: 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.Ajaxjavascript的區別?

javascript是一種在瀏覽器端執行的腳本語言,Ajax是一種建立交互式網頁應用的開發技術 ,它是利用了一系列相關的技術其中就包括javascript。

Javascript是由網景公司開發的一種腳本語言,它和sun公司的java語言是沒有任何關係的,它們類似的名稱只是一種行銷策略。

在通常的web開發中,javascript是在瀏覽器端執行的,咱們能夠用javascript控制瀏覽器的行爲和內容。

在 Ajax應用中信息是如何在瀏覽器和服務器之間傳遞的

     經過XML數據或者字符串

8,在瀏覽器端如何獲得服務器端響應的XML數據

      XMLHttpRequest對象的responseXMl屬性

9 XMLHttpRequest對象在IEFirefox中建立方式有沒有不一樣?

有,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

11Ajax的優勢和缺點

使用Ajax的最大優勢,就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更爲迅捷地迴應用戶動做,並避免了在網絡上發送那些沒有改變過的信息。

對應用Ajax最主要的缺點就是,它可能破壞瀏覽器後退按鈕的正常行爲

由於Ajax中採用了xml技術,因此在Ajax中也可能問到XML的問題

12,什麼是XML

    XML是擴展標記語言,可以用一系列簡單的標記描述數據

13xml的解析方式

    經常使用的用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對象。

17、介紹一下XMLHttpRequest對象

經過XMLHttpRequest對象,Web開發人員能夠在頁面加載之後進行頁面的局部更新。

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

「Google Suggest」就是使用XMLHttpRequest對象來建立動態的Web接口:

當用戶開始輸入google的搜索框,Javascript發送用戶輸入的字符到服務器,而後服務器返回一個建議列表。

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

18AJAX應用和傳統Web應用有什麼不一樣?

在傳統的Javascript編程中,若是想獲得服務器端數據庫或文件上的信息,或者發送客戶端信息到服務器,須要創建一個HTML form而後GET或者POST數據到服務器端。用戶須要點擊」Submit」按鈕來發送或者接受數據信息,而後等待服務器響應請求,頁面從新加載。

由於服務器每次都會返回一個新的頁面, 因此傳統的web應用有可能很慢並且用戶交互不友好。

使用AJAX技術, 就可使Javascript經過XMLHttpRequest對象直接與服務器進行交互。

經過HTTP Request, 一個web頁面能夠發送一個請求到web服務器而且接受web服務器返回的信息(不用從新加載頁面),展現給用戶的仍是通一個頁面,用戶感受頁面刷新,也看不到到Javascript後臺進行的發送請求和接受響應。

19AJAX的全稱是什麼?介紹一下AJAX

AJAX的全稱是Asynchronous JavaScript And XML.

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

使用AJAX能夠建立更好,更快,更用戶界面友好的Web應用。

AJAX技術基於Javascript和HTTP Request.

20,介紹一下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

21.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。

22AJAX都有哪些有點和缺點?
  • 一、最大的一點是頁面無刷新,用戶的體驗很是好。

  • 二、使用異步方式與服務器通訊,具備更加迅速的響應能力。

  • 三、能夠把之前一些服務器負擔的工做轉嫁到客戶端,利用客戶端閒置的能力來處理,減輕服務器和帶寬的負擔,節約空間和寬帶租用成本。而且減輕服務器的負擔,ajax的原則是「按需取數據」,能夠最大程度的減小冗餘請求,和響應對服務器形成的負擔。

  • 四、基於標準化的並被普遍支持的技術,不須要下載插件或者小程序。

ajax的缺點

  • 一、ajax不支持瀏覽器back按鈕。

  • 二、安全問題 AJAX暴露了與服務器交互的細節。

  • 三、對搜索引擎的支持比較弱。

  • 四、破壞了程序的異常機制。

  • 五、不容易調試。

相關文章
相關標籤/搜索