百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

前端面试题《AJAX》 ajax面试题2020

qiyuwang 2024-10-21 09:40 12 浏览 0 评论

1.什么是ajax?ajax作用是什么?

AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.

2.为什么要用ajax:

Ajax应用程序的优势在于:

\1. 通过异步模式,提升了用户体验

\2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用

\3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载

3.AJAX最大的特点是什么。

Ajax可以实现动态不刷新(局部刷新)就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

4.请介绍一下XMLHttprequest对象。

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新

5.AJAX技术体系的组成部分有哪些。

HTML,css,dom,xml,xmlHttpRequest,javascript

6.工作当中会和后台交互吗? 那你能说说封装好的 ajax里的几个参数吗 ?

url: 发送请求的地址。

type: 请求方式(post或get)默认为get。

async: 同步异步请求,默认true所有请求均为异步请求。

timeout : 超时时间设置,单位毫秒

data:要求为Object或String类型的参数,发送到服务器的数据

cache:默认为true(当dataType为script时,默认为false), 设置为false将不会从浏览器缓存中加载请求信息。

dataType: 预期服务器返回的数据类型。

可用的类型如下:

xml:返回XML文档,可用JQuery处理

html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。

script:返回纯文本JavaScript代码。不会自动缓存结果。

json:返回JSON数据。

jsonp:JSONP格式。使用JSONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。

text:返回纯文本字符串。

success:请求成功后调用的回调函数,有两个参数。

(1) 由服务器返回,并根据dataType参数进行处理后的数据。

(2) 描述状态的字符串。

error:要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数

(1) XMLHttpRequest对象

(2) 错误信息

(3) 捕获的错误对象(可选)

complete :function(XMLHttpRequest,status){ //请求完成后最终执行参数

7.Ajax的实现流程是怎样的?

Ajax的实现流程是怎样的?

(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.

(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.

(3)设置响应HTTP请求状态变化的函数.

(4)发送HTTP请求.

(5)获取异步调用返回的数据.

(6)使用JavaScript和DOM实现局部刷新.

<script type="text/javascript">
               var httpRequest;
               function checkUsername() {
                         if(window.XMLHttpRequest) {
                         //在IE6以上的版本以及其他内核的浏览器(Mozilla)等
                                 httpRequest = new XMLHttpRequest();
                         }else if(window.ActiveXObject) {
                         //在IE6以下的版本
                                 httpRequest = new ActiveXObject();
                             }
                         //创建http请求
                         httpRequest.open("POST", "Servlet1", true);
                         //因为我使用的是post方式,所以需要设置消息头
                         httpRequest.setRequestHeader("Content-type", "application/xwww-form-urlencoded");
                         //指定回调函数
                         httpRequest.onreadystatechange = response22;
                         //得到文本框的数据
                         var name = document.getElementById("username").value;
                         //发送http请求,把要检测的用户名传递进去
                         httpRequest.send("username=" + name);
                         }
                         function response22() {
                                   //判断请求状态码是否是4【数据接收完成】
                                   if(httpRequest.readyState==4) {
                                   //再判断状态码是否为200【200是成功的】
                                           if(httpRequest.status==200) {
                                           //得到服务端返回的文本数据
                                           var text = httpRequest.responseText;
                                            //把服务端返回的数据写在div上
                                           var div = document.getElementById("result");
                                           div.innerText = text;
                                             }
              							 }
               }
 </script>

8.AJAX请求总共有多少种CALLBACK

AJAX请求总共有多少种CALLBACK

Ajax请求总共有八种Callback

onSuccess

onFailure

onUninitialized

onLoading

onLoaded

onInteractive

onComplete

onException

9.AJAX有哪些有点和缺点?

AJAX有哪些有点和缺点?

优点:

1、最大的一点是页面无刷新,用户的体验非常好。

2、使用异步方式与服务器通信,具有更加迅速的响应能力。

3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

缺点:

1、ajax不支持浏览器back按钮。

2、安全问题 AJAX暴露了与服务器交互的细节。

3、对搜索引擎的支持比较弱。

4、破坏了程序的异常机制。

5、不容易调试。

10.Ajax 解决浏览器缓存问题?

Ajax 解决浏览器缓存问题?

1、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。

2、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache")。

3、在URL后面加上一个随机数: "fresh=" + Math.random();。

4、在URL后面加上时间戳:"nowtime=" + new Date().getTime();。

5、如果是使用jQuery,直接这样就可以了 $.ajaxSetup({cache:false})。这样页面的所有ajax都会执行这条语句就是不需要保存缓存记录。

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: