Ajax是一种用于创建异步Web应用程序的技术,它可以在不重新加载整个页面的情况下更新部分内容。Ajax是一种流行的技术,因此在面试中,你可能会被问及关于Ajax的一些常见问题。
1. 什么是Ajax?
Ajax是一种用于创建异步Web应用程序的技术,它使用XMLHttpRequest对象来向服务器发送请求,并使用JavaScript处理响应。
2. Ajax有什么优势?
Ajax的优势在于它可以在不重新加载整个页面的情况下更新部分内容。这样可以减少网站上传输的数据量,并使Web应用程序更快、更流畅。
3. Ajax如何工作?
Ajax工作原理很简单。当用户在浏览器中执行特定操作时,JavaScript将向服务器发送XMLHttpRequest对象请求。服务器将处理请求并返回响应数据。JavaScript将处理返回的数据并更新相关部分内容。
4. 使用Ajax时要注意什么?
使用Ajax时要注意几个方面:1) 应尽量避免使用大量JavaScript代码; 2) 应尽量避免使用大量XMLHttpRequest对象; 3) 应尽量避免使用大量DOM对象; 4) 应尽量避免使用大量CSS样式衣; 5) 应尽量避免使用大量图片; 6) 应尽量避免使用大量字体; 7) 应尽量避免使用大量Flash对象; 8) 应尽量避免使甲Javascript代码中出现循环或者递归函数; 9) 圣诞树要法律保障性能, 需要考虑性能优化问题, 比如: 精心选择合适的 JavaScript 框架, 优化 JavaScript 代码, 采取合理的 DOM 操作方式, 等.
下面列出了常见的AJAX面试问题和答案。
AJAX代表异步JavaScript和XML。它是一组用于异步显示数据的相关技术。换句话说,它在不重新加载网页的情况下发送和检索数据。
//创建 XMLHttpRequest 对象
var ajax = new XMLHttpRequest();
//规定请求的类型、URL 以及是否异步处理请求。
ajax.open("GET",url,true);
//发送信息至服务器时内容编码类型
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//发送请求
ajax.send(null);
//接受服务器响应数据
ajax.onreadystatechange = function () {
if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) {
}
};
5、ajax几种请求方式?他们的优缺点?
常用的post,get,delete。不常用copy、head、link等等。
区别:
(1)post比get安全 (因为post参数在请求体中。get参数在url上面)
(2)get传输速度比post快 根据传参决定的。(post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)
(3)post传输文件大理论没有限制 get传输文件小大概7-8k ie4k左右
(4)get获取数据 post上传数据(上传的数据比较多 而且上传数据都是重要数据。所以不论在安全性还是数据量级 post是最好的选择)
同步请求会阻止用户,直到检索到响应,而异步不会阻止用户。
下面给出了XMLHttpRequest对象的重要属性。
onReadyStateChange
- 只要readystate属性发生变化,就会调用它。readyState
- 表示请求的状态。responseText
- 它将响应作为文本返回。responseXML
- 它以XML格式返回响应。status
- 返回请求的状态编号。statusText
- 返回状态的详细信息。abort()
- 用于取消当前请求。getAllResponseHeaders()
- 返回标题详细信息。getResponseHeader()
- 返回特定的标题详细信息。open()
- 用于打开请求。send()
- 用于发送请求。setRequestHeader()
- 它添加了请求标头。open(method,URL)
- 它打开指定get或post方法和URL的请求。open(method,URL,async)
- 它与上面相同但是指定异步或不指定。open(method,URL,async,userName,password)
- 与上面相同,但指定用户名和密码。send()
- 它发送get请求send(string)
- 发送帖子请求。回调函数将函数作为参数传递给另一个函数。如果我们必须在网站上执行各种AJAX任务,那么我们可以创建一个用于执行XMLHttpRequest的函数和一个用于执行每个AJAX任务的回调函数。
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 .时间;
}
}
有几种用于调试AJAX应用程序的工具。
在AJAX中有两种类型的回发。
在AJAX中有5个请求的就绪状态。
JUnit是客户端JavaScript的开源单元测试框架。需要创建测试用例。单元测试用例是一个代码,用于确保程序逻辑按预期工作。
JavaScript | AJAX |
---|---|
JavaScript是一种基于对象的脚本语言。 | AJAX是一组相互关联的技术,如JavaScript,XML,HTML,CSS等 |
它请求服务器并等待响应。 | 它向服务器发送请求,不等待响应。 |
重新加载页面时会占用更多带宽。 | 它不会重新加载页面,因此占用的带宽更少。 |
FreeRTOS(读作"free-arr-toss")是一个嵌入式系统使用的开源实时操作系统。FreeRTOS被设计为“小巧,简单,和易用”,能支持许多...
作者:Susan Potter,翻译:张吉原文:http://www.aosabook.org/en/git.html6.1 Git概述Git能够让不同的协作者通过一个点对点的...