欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

经典的20道AJAX面试题(必知必会)

程序员文章站 2022-05-14 21:05:45
1、什么是ajax,为什么要使用ajax(请谈一下你对ajax的认识) 什么是ajax: ajax是“asynchronous javascript and x...

1、什么是ajax,为什么要使用ajax(请谈一下你对ajax的认识)

什么是ajax:

ajax是“asynchronous javascript and xml”的缩写。他是指一种创建交互式网页应用的网页开发技术。

ajax包含下列技术:

基于web标准(standards-basedpresentation)xhtml+css的表示;

使用 dom(document objectmodel)进行动态显示及交互;

使用 xml 和 xslt 进行数据交换及相关操作;

使用 xmlhttprequest 进行异步数据查询、检索;

使用 javascript 将所有的东西绑定在一起。

2、为什么要用ajax:

ajax应用程序的优势在于:

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

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

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

2、ajax最大的特点是什么。

ajax可以实现动态不刷新(局部刷新)

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

3、请介绍一下xmlhttprequest对象。

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

4、ajax技术体系的组成部分有哪些。

html,css,dom,xml,xmlhttprequest,javascript

5、ajax应用和传统web应用有什么不同。

在传统的javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个html form然后get或者post数据到服务器端。用户需要点击”submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。

因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而且用户交互不友好。

使用ajax技术, 就可以使javascript通过xmlhttprequest对象直接与服务器进行交互。

通过http request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到javascript后台进行的发送请求和接受响应。

6、ajax请求总共有多少种callback。

ajax请求总共有八种callback

onsuccess
onfailure
onuninitialized
onloading
onloaded
oninteractive
oncomplete
onexception

7.ajax和javascript的区别。

javascript是一种在浏览器端执行的脚本语言,ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。

javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。

在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。

在 ajax应用中信息是如何在浏览器和服务器之间传递的

通过xml数据或者字符串

8、在浏览器端如何得到服务器端响应的xml数据。

xmlhttprequest对象的responsexml属性

9、 xmlhttprequest对象在ie和firefox中创建方式有没有不同。

有,ie中通过new activexobject()得到,firefox中通过newxmlhttprequest()得到

10、介绍一下xmlhttprequest对象的常用方法和属性。

open(“method”,”url”) 建立对服务器的调用,第一个参数是http请求 方式可以为get,post或任何服务器所支持的您想调用的方式。

第二个参数是请求页面的url。

send()方法,发送具体请求

abort()方法,停止当前请求

readystate属性 请求的状态 有5个可取值0=未初始化 ,1=正在加载
2=以加载,3=交互中,4=完成

responsetext 属性 服务器的响应,表示为一个串

reponsexml 属性 服务器的响应,表示为xml

status 服务器的http状态码,200对应ok 400对应not found

12、什么是xml

xml是扩展标记语言,能够用一系列简单的标记描述数据

13、xml的解析方式

常用的用dom解析和sax解析。dom解析是一次性读取xml文件并将其构造为dom对象供程序使用,优点是操作方便,但是比较耗内存。sax是按事件驱动的方式解析的,占用内存少,但是编程复杂

14、你采用的是什么框架(架包)

这题是必问的,一般也是最开始就会问到。

在java中比较流行的有 dojo, prototype , jquery, dwr, extjs 等等

15、如果熟悉某种ajax框架,他可能会问到怎样在程序中使用这种框架

dwr框架介绍

dwr(directweb remoting)是一个web远程调用框架.利用这个框架可以让ajax开发变得很简单.利用dwr可以在客户端利用javascript直接调用服务端的java方法并返回值给javascript就好像直接本地客户端调用一样(dwr根据java类来动态生成javascrip代码).

dwr的实现原理是通过反射,将java翻译成javascript,然后利用回调机制,从而实现了javascript调用java代码

16、介绍一下prototype的$()函数,$f()函数,$a()函数都是什么作用

$() 方法是在dom中使用过于频繁的document.getelementbyid() 方法的一个便利的简写,就像这个dom方法一样,这个方法返回参数传入的id的那个元素。

$f()函数是另一个大收欢迎的“快捷键”,它能用于返回任何表单输入控件的值,比如textbox,drop-down list。这个方法也能用元素id或元素本身做为参数。

$a()函数能把它接收到的单个的参数转换成一个array对象。

17、介绍一下xmlhttprequest对象

通过xmlhttprequest对象,web开发人员可以在页面加载以后进行页面的局部更新。

ajax开始流行始于google在2005年使用的”google suggest”。

“google suggest”就是使用xmlhttprequest对象来创建动态的web接口:

当用户开始输入google的搜索框,javascript发送用户输入的字符到服务器,然后服务器返回一个建议列表。

xmlhttprequest对象在ie5.0+, safari 1.2, mozilla1.0/firefox, opera 8+ 和netscapt7 开始被支持。

18、ajax的全称是什么? 介绍一下ajax?

ajax的全称是asynchronous javascript and xml.

ajax是2005年由google发起并流行起来的编程方法, ajax不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术。

使用ajax可以创建更好,更快,更用户界面友好的web应用。

ajax技术基于javascript和http request.

19、ajax主要包含了哪些技术?

ajax(asynchronous javascript + xml)的定义

基于web标准(standards-based presentation)xhtml+css的表示;

使用 dom(document object model)进行动态显示及交互;

使用 xml 和 xslt 进行数据交换及相关操作;

使用xmlhttprequest 进行异步数据查询、检索;
使用 javascript 将所有的东西绑定在一起。英文参见ajax的提出者jesse james garrett的原文,原文题目(ajax: a new approach to

web applications)。

类似于dhtml或lamp,ajax不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于ajax的“派生/合成”式(derivative/composite)的技术正在出现,如“aflax”。

ajax的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:mozilla、firefox、internet explorer、opera、konqueror及safari。但是opera不支持xsl格式对象,也不支持xslt。

20、ajax都有哪些优点和缺点?

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

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

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

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

ajax的缺点

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

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

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

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

5、不容易调试。

以上所述是小编给大家介绍的经典的20道ajax面试题(必知必会),希望对大家有所帮助