AJAX面试问题
下面列出了常见的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等 |
它请求服务器并等待响应。 | 它向服务器发送请求,不等待响应。 |
重新加载页面时会占用更多带宽。 | 它不会重新加载页面,因此占用的带宽更少。 |