首頁 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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

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

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

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

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

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實現跨平台開發,提高開發效率。

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

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

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

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

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

See all articles