面试题首页 > Web前端面试题

AJAX面试题

001什么是AJAX?

AJAX(Asynchronous Javascript And XML)其实就是异步的javaScript和XML。它是一组用于异步显示数据的相关技术。换句话说,它在不重新加载网页的情况下发送和检索数据。

002简述AJAX的优点?

1.页面局部刷新。在读取数据的过程中,用户所面对的不是白屏,而是原来页面的转台,或者正在更新的信息提示状态,只有当接收到全部数据后才能更新相应的内容,而这种更新也是瞬间的用户几乎感受不到。
2.可以充分利用客户端闲置的处理能力,减轻服务器和网络传输的负担。
3.使得web中界面与应用相分离 也可以说是数据与呈现相分离。

003简述AJAX的缺点?

1.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
2.AJAX安全问题
3.对搜索引擎支持较弱
4.不好调试
5.违背了URL和资源定位的初衷
6.AJAX不是很好支持移动设备

004AJAX如何处理网络请求?

AJAX模块在处理网络请求的时候包括以下四个步骤
①通过XMLHttpRequest类创建xhr对象
②为xhr对象添加属性与回调方法
③令xhr对象执行open()方法,指明请求被发往某处
④令xhr对象执行send()方法,发出请求。
补充:Ajax可以发出同步请求,也可以发出异步请求。但大多数情况下指的是异步请求,因为同步的Ajax请求对浏览器会产生‘阻塞效应。

005原生JS是如何实现AJax的?

//创建 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)) {
        //业务处理
    } 
};

006AJAX几种请求方式?他们的优缺点?

常用的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是最好的选择)。

007同步和异步请求有什么区别?

同步请求会阻止用户,直到检索到响应,而异步不会阻止用户。

008回调函数在AJAX中的作用是什么?

回调函数将函数作为参数传递给另一个函数。如果我们必须在网站上执行各种AJAX任务,那么我们可以创建一个用于执行XMLHttpRequest的函数和一个用于执行每个AJAX任务的回调函数。

009调试AJAX应用程序的工具有哪些?

有几种用于调试AJAX应用程序的工具。
● 适用于Mozilla Firefox的Firebug
● 适用于IE的Fiddler(Internet Explorer)
● JavaScript HTML调试器
● MyEclipse AJAX工具
● 脚本调试器

010AJAX中请求的准备状态有哪些?

在AJAX中有5个请求的就绪状态。
● 0:意味着未被发现
● 1:表示已打开
● 2:表示HEADERS_RECEIVED
● 3:表示装载
● 4:表示完成

目录

返回顶部