溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

AJAX必會(huì)面試題有哪些

發(fā)布時(shí)間:2021-09-14 11:31:55 來源:億速云 閱讀:130 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“AJAX必會(huì)面試題有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“AJAX必會(huì)面試題有哪些”這篇文章吧。

1、什么是AJAX,為什么要使用Ajax(請(qǐng)談一下你對(duì)Ajax的認(rèn)識(shí))

什么是ajax:

AJAX是“Asynchronous JavaScript and XML”的縮寫。他是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。

Ajax包含下列技術(shù):

基于web標(biāo)準(zhǔn)(standards-basedpresentation)XHTML+CSS的表示;

使用 DOM(Document ObjectModel)進(jìn)行動(dòng)態(tài)顯示及交互;

使用 XML 和 XSLT 進(jìn)行數(shù)據(jù)交換及相關(guān)操作;

使用 XMLHttpRequest 進(jìn)行異步數(shù)據(jù)查詢、檢索;

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

2、為什么要用ajax:

Ajax應(yīng)用程序的優(yōu)勢在于:

1. 通過異步模式,提升了用戶體驗(yàn)

2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用

3. Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。

2、AJAX最大的特點(diǎn)是什么。

Ajax可以實(shí)現(xiàn)動(dòng)態(tài)不刷新(局部刷新)

就是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。

3、請(qǐng)介紹一下XMLhttprequest對(duì)象。

Ajax的核心是JavaScript對(duì)象XmlHttpRequest。該對(duì)象在Internet Explorer 5中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不阻塞用戶。通過XMLHttpRequest對(duì)象,Web開發(fā)人員可以在頁面加載以后進(jìn)行頁面的局部更新。

4、AJAX技術(shù)體系的組成部分有哪些。

HTML,css,dom,xml,xmlHttpRequest,javascript

5、AJAX應(yīng)用和傳統(tǒng)Web應(yīng)用有什么不同。

在傳統(tǒng)的Javascript編程中,如果想得到服務(wù)器端數(shù)據(jù)庫或文件上的信息,或者發(fā)送客戶端信息到服務(wù)器,需要建立一個(gè)HTML form然后GET或者POST數(shù)據(jù)到服務(wù)器端。用戶需要點(diǎn)擊”Submit”按鈕來發(fā)送或者接受數(shù)據(jù)信息,然后等待服務(wù)器響應(yīng)請(qǐng)求,頁面重新加載。

因?yàn)榉?wù)器每次都會(huì)返回一個(gè)新的頁面, 所以傳統(tǒng)的web應(yīng)用有可能很慢而且用戶交互不友好。

使用AJAX技術(shù), 就可以使Javascript通過XMLHttpRequest對(duì)象直接與服務(wù)器進(jìn)行交互。

通過HTTP Request, 一個(gè)web頁面可以發(fā)送一個(gè)請(qǐng)求到web服務(wù)器并且接受web服務(wù)器返回的信息(不用重新加載頁面),展示給用戶的還是通一個(gè)頁面,用戶感覺頁面刷新,也看不到到Javascript后臺(tái)進(jìn)行的發(fā)送請(qǐng)求和接受響應(yīng)。

6、AJAX請(qǐng)求總共有多少種CALLBACK。

Ajax請(qǐng)求總共有八種Callback

onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException

7.Ajax和javascript的區(qū)別。

javascript是一種在瀏覽器端執(zhí)行的腳本語言,Ajax是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的開發(fā)技術(shù) ,它是利用了一系列相關(guān)的技術(shù)其中就包括javascript。

Javascript是由網(wǎng)景公司開發(fā)的一種腳本語言,它和sun公司的java語言是沒有任何關(guān)系的,它們相似的名稱只是一種行銷策略。

在一般的web開發(fā)中,javascript是在瀏覽器端執(zhí)行的,我們可以用javascript控制瀏覽器的行為和內(nèi)容。

在 Ajax應(yīng)用中信息是如何在瀏覽器和服務(wù)器之間傳遞的

通過XML數(shù)據(jù)或者字符串

8、在瀏覽器端如何得到服務(wù)器端響應(yīng)的XML數(shù)據(jù)。

XMLHttpRequest對(duì)象的responseXMl屬性

9、 XMLHttpRequest對(duì)象在IE和Firefox中創(chuàng)建方式有沒有不同。

有,IE中通過new ActiveXObject()得到,F(xiàn)irefox中通過newXMLHttpRequest()得到

10、介紹一下XMLHttpRequest對(duì)象的常用方法和屬性。

open(“method”,”URL”) 建立對(duì)服務(wù)器的調(diào)用,第一個(gè)參數(shù)是HTTP請(qǐng)求 方式可以為GET,POST或任何服務(wù)器所支持的您想調(diào)用的方式。

第二個(gè)參數(shù)是請(qǐng)求頁面的URL。

send()方法,發(fā)送具體請(qǐng)求

abort()方法,停止當(dāng)前請(qǐng)求

readyState屬性 請(qǐng)求的狀態(tài) 有5個(gè)可取值0=未初始化 ,1=正在加載
2=以加載,3=交互中,4=完成

responseText 屬性 服務(wù)器的響應(yīng),表示為一個(gè)串

reponseXML 屬性 服務(wù)器的響應(yīng),表示為XML

status 服務(wù)器的HTTP狀態(tài)碼,200對(duì)應(yīng)ok 400對(duì)應(yīng)not found

12、什么是XML

XML是擴(kuò)展標(biāo)記語言,能夠用一系列簡單的標(biāo)記描述數(shù)據(jù)

13、XML的解析方式

常用的用dom解析和sax解析。dom解析是一次性讀取xml文件并將其構(gòu)造為DOM對(duì)象供程序使用,優(yōu)點(diǎn)是操作方便,但是比較耗內(nèi)存。Sax是按事件驅(qū)動(dòng)的方式解析的,占用內(nèi)存少,但是編程復(fù)雜

14、你采用的是什么框架(架包)

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

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

15、如果熟悉某種ajax框架,他可能會(huì)問到怎樣在程序中使用這種框架

DWR框架介紹

DWR(DirectWeb Remoting)是一個(gè)WEB遠(yuǎn)程調(diào)用框架.利用這個(gè)框架可以讓AJAX開發(fā)變得很簡單.利用DWR可以在客戶端利用JavaScript直接調(diào)用服務(wù)端的Java方法并返回值給JavaScript就好像直接本地客戶端調(diào)用一樣(DWR根據(jù)Java類來動(dòng)態(tài)生成JavaScrip代碼).

DWR的實(shí)現(xiàn)原理是通過反射,將java翻譯成javascript,然后利用回調(diào)機(jī)制,從而實(shí)現(xiàn)了javascript調(diào)用Java代碼

16、介紹一下Prototype的$()函數(shù),$F()函數(shù),$A()函數(shù)都是什么作用

$() 方法是在DOM中使用過于頻繁的document.getElementById() 方法的一個(gè)便利的簡寫,就像這個(gè)DOM方法一樣,這個(gè)方法返回參數(shù)傳入的id的那個(gè)元素。

$F()函數(shù)是另一個(gè)大收歡迎的“快捷鍵”,它能用于返回任何表單輸入控件的值,比如textbox,drop-down list。這個(gè)方法也能用元素id或元素本身做為參數(shù)。

$A()函數(shù)能把它接收到的單個(gè)的參數(shù)轉(zhuǎn)換成一個(gè)Array對(duì)象。

17、介紹一下XMLHttpRequest對(duì)象

通過XMLHttpRequest對(duì)象,Web開發(fā)人員可以在頁面加載以后進(jìn)行頁面的局部更新。

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

“Google Suggest”就是使用XMLHttpRequest對(duì)象來創(chuàng)建動(dòng)態(tài)的Web接口:

當(dāng)用戶開始輸入google的搜索框,Javascript發(fā)送用戶輸入的字符到服務(wù)器,然后服務(wù)器返回一個(gè)建議列表。

XMLHttpRequest對(duì)象在IE5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8+ 和NetScapt7 開始被支持。

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

AJAX的全稱是Asynchronous JavaScript And XML.

AJAX是2005年由Google發(fā)起并流行起來的編程方法, AJAX不是一個(gè)新的編程語言,但是它是一個(gè)使用已有標(biāo)準(zhǔn)的新的編程技術(shù)。

使用AJAX可以創(chuàng)建更好,更快,更用戶界面友好的Web應(yīng)用。

AJAX技術(shù)基于Javascript和HTTP Request.

19、Ajax主要包含了哪些技術(shù)?

Ajax(Asynchronous JavaScript + XML)的定義

基于web標(biāo)準(zhǔn)(standards-based presentation)XHTML+CSS的表示;

使用 DOM(Document Object Model)進(jìn)行動(dòng)態(tài)顯示及交互;

使用 XML 和 XSLT 進(jìn)行數(shù)據(jù)交換及相關(guān)操作;

使用XMLHttpRequest 進(jìn)行異步數(shù)據(jù)查詢、檢索;
使用 JavaScript 將所有的東西綁定在一起。英文參見Ajax的提出者Jesse James Garrett的原文,原文題目(Ajax: A New Approach to

Web Applications)。

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

AJAX的應(yīng)用使用支持以上技術(shù)的web瀏覽器作為運(yùn)行平臺(tái)。這些瀏覽器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式對(duì)象,也不支持XSLT。

20、AJAX都有哪些優(yōu)點(diǎn)和缺點(diǎn)?

1、最大的一點(diǎn)是頁面無刷新,用戶的體驗(yàn)非常好。

2、使用異步方式與服務(wù)器通信,具有更加迅速的響應(yīng)能力。

3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器和帶寬的負(fù)擔(dān),節(jié)約空間和寬帶租用成本。并且減輕服務(wù)器的負(fù)擔(dān),ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請(qǐng)求,和響應(yīng)對(duì)服務(wù)器造成的負(fù)擔(dān)。

4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。

ajax的缺點(diǎn)

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

2、安全問題 AJAX暴露了與服務(wù)器交互的細(xì)節(jié)。

3、對(duì)搜索引擎的支持比較弱。

4、破壞了程序的異常機(jī)制。

5、不容易調(diào)試。

以上是“AJAX必會(huì)面試題有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI