搜尋
首頁web前端js教程20道經典的AJAX面試題(必知必會)

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

Jul 31, 2020 am 11:58 AM
ajax面試題

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

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

什麼是ajax:

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

Ajax包含下列技術:

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

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


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


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


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


【專題推薦】:

2020年ajax面試題目及答案(最新)

2、為什麼要用ajax:

Ajax應用程式的優點在於:


1. 透過非同步模式,提升了使用者體驗


2. 優化了瀏覽器和伺服器之間的傳輸,減少不必要的資料往返,減少了頻寬佔用


3. Ajax引擎在客戶端運行,承擔了一部分本來由伺服器承擔的工作,從而減少了大用戶量下的伺服器負載。


2、AJAX最大的特點是什麼。

Ajax可以實作動態不刷新(局部刷新)


就是能在不更新整個頁面的前提下維護資料。這使得網路應用程式更為迅捷地回應使用者動作,並避免了在網路上發送那些沒有改變過的訊息。

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面試題(必知必會),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章推薦:ajax影片教學

以上是20道經典的AJAX面試題(必知必會)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:jb51。如有侵權,請聯絡admin@php.cn刪除
使用Next.js(後端集成)構建多租戶SaaS應用程序使用Next.js(後端集成)構建多租戶SaaS應用程序Apr 11, 2025 am 08:23 AM

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

如何使用Next.js(前端集成)構建多租戶SaaS應用程序如何使用Next.js(前端集成)構建多租戶SaaS應用程序Apr 11, 2025 am 08:22 AM

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript:探索網絡語言的多功能性JavaScript:探索網絡語言的多功能性Apr 11, 2025 am 12:01 AM

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的演變:當前的趨勢和未來前景JavaScript的演變:當前的趨勢和未來前景Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

神秘的JavaScript:它的作用以及為什麼重要神秘的JavaScript:它的作用以及為什麼重要Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python還是JavaScript更好?Python還是JavaScript更好?Apr 06, 2025 am 12:14 AM

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

如何安裝JavaScript?如何安裝JavaScript?Apr 05, 2025 am 12:16 AM

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。

在Quartz中如何在任務開始前發送通知?在Quartz中如何在任務開始前發送通知?Apr 04, 2025 pm 09:24 PM

如何在Quartz中提前發送任務通知在使用Quartz定時器進行任務調度時,任務的執行時間是由cron表達式設定的。現�...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能