下面列出了常見的AJAX面試問題和答案。
1、什么是AJAX?
AJAX代表異步JavaScript和XML。它是一組用于異步顯示數據的相關技術。換句話說,它在不重新加載網頁的情況下發送和檢索數據。
2、AJAX有哪些優點?
• 快速回復
• 帶寬利用率
• 在從服務器檢索數據之前,不會阻止用戶。
• 它允許我們只將重要數據發送到服務器。
• 它使應用程序具有交互性和更快速。
3、AJAX有哪些缺點?
• 取決于JavaScript
• 安全問題
• 調試很困難
4、目前市場上運行的AJAX的真實Web應用程序是什么?
• 推特
• Gmail
• Javatpoint
• Youtube
5、AJAX有哪些安全問題?
• AJAX源代碼是可讀的
• 攻擊者可以將腳本插入系統
6、同步和異步請求有什么區別?
同步請求會阻止用戶,直到檢索到響應,而異步不會阻止用戶。
7、AJAX使用了哪些技術?
• HTML / XHTML和CSS - 這些技術用于顯示內容和樣式。
• DOM - 用于動態顯示和與數據交互。
• XML - 用于與服務器之間傳送數據
• XMLHttpRequest - 用于客戶端和服務器之間的異步通信。
• JavaScript - 主要用于客戶端驗證。
8、XMLHttpRequest的目的是什么?
• 它將后臺數據發送到服務器。
• 它從服務器請求數據。
• 它從服務器接收數據。
• 它在不重新加載頁面的情況下更新數據。
9、XMLHttpRequest的屬性是什么?
下面給出了XMLHttpRequest對象的重要屬性。
• onReadyStateChange - 只要readystate屬性發生變化,就會調用它。
• readyState - 表示請求的狀態。
• responseText - 它將響應作為文本返回。
• responseXML - 它以XML格式返回響應。
• status - 返回請求的狀態編號。
• statusText - 返回狀態的詳細信息。
10、XMLHttpRequest的重要方法是什么?
• abort() - 用于取消當前請求。
• getAllResponseHeaders() - 返回標題詳細信息。
• getResponseHeader() - 返回特定的標題詳細信息。
• open() - 用于打開請求。
• send() - 用于發送請求。
• setRequestHeader() - 它添加了請求標頭。
11、XMLHttpRequest使用的open()方法有哪些類型?
• open(method,URL) - 它打開指定get或post方法和URL的請求。
• open(method,URL,async) - 它與上面相同但是指定異步或不指定。
• open(method,URL,async,userName,password) - 與上面相同,但指定用戶名和密碼。
12、XMLHttpRequest使用的send()方法有哪些類型?
• send() - 它發送get請求
• send(string) - 發送帖子請求。
13、回調函數在AJAX中的作用是什么?
回調函數將函數作為參數傳遞給另一個函數。如果我們必須在網站上執行各種AJAX任務,那么我們可以創建一個用于執行XMLHttpRequest的函數和一個用于執行每個AJAX任務的回調函數。
14、AJAX中的JSON是什么?
JSON代表JavaScript Object Notation。在AJAX中,它用于在瀏覽器和服務器之間交換數據。它很容易理解,數據交換比XML快。它支持數組,對象,字符串,數字和值。
request.onreadystatechange = function (){
if(request.readyState == 4)
{
var jsonObj = JSON .parse(request.responseText); // JSON.parse()返回JSON對象
的document.getElementById( “日期”).innerHTML = jsonObj .date;
的document.getElementById( “時間”).innerHTML = jsonObj 。時間;
}
}
15、調試AJAX應用程序的工具有哪些?
有幾種用于調試AJAX應用程序的工具。
• 適用于Mozilla Firefox的Firebug
• 適用于IE的Fiddler(Internet Explorer)
• JavaScript HTML調試器
• MyEclipse AJAX工具
• 腳本調試器
16、AJAX中的回發類型有哪些?
在AJAX中有兩種類型的回發。
• 同步回發 - 它會阻止客戶端直到操作完成。
• 異步回發 - 它不會阻止客戶端。
17、AJAX中請求的準備狀態有哪些?
在AJAX中有5個請求的就緒狀態。
• 0:意味著未被發現
• 1:表示已打開
• 2:表示HEADERS_RECEIVED
• 3:表示裝載
• 4:表示完成
18、常見的AJAX框架是什么?
• Dojo Toolkit
• YUI
• Google Web Toolkit(GWT)
• Spry
• MooTools
• Prototype
19、你如何測試AJAX代碼?
JUnit是客戶端JavaScript的開源單元測試框架。需要創建測試用例。單元測試用例是一個代碼,用于確保程序邏輯按預期工作。
20、JavaScript和AJAX有什么區別?
JavaScript |
AJAX |
---|---|
JavaScript是一種基于對象的腳本語言。 |
AJAX是一組相互關聯的技術,如JavaScript,XML,HTML,CSS等 |
它請求服務器并等待響應。 |
它向服務器發送請求,不等待響應。 |
重新加載頁面時會占用更多帶寬。 |
它不會重新加載頁面,因此占用的帶寬更少。 |