AJAX笔试面试题汇总
1.什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识)
什么是ajax:
AJAX是“AsynchronousJavaScriptandXML”的缩写。他是指一种创建交互式网页应用的网页开发技术。
Ajax包含下列技术:
基于web标准(standards-basedpresentation)XHTML+CSS的表示;
使用DOM(DocumentObjectModel)进行动态显示及交互;
使用XML和XSLT进行数据交换及相关操作;
使用XMLHttpRequest进行异步数据查询、检索;
使用JavaScript将所有的东西绑定在一起。
为什么要用ajax:
Ajax应用程序的优势在于:
1.通过异步模式,提升了用户体验
2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3.Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
3.请介绍一下XMLHTTPREQUEST对象?
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。
4.Ajax技术体系的组成部分有哪些?
HTML,css,dom,xml,xmlHttpRequest,javascript
在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTMLform然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。
因为服务器每次都会返回一个新的页面,所以传统的web应用有可能很慢而且用户交互不友好。
使用AJAX技术,就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。
通过HTTPRequest,一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。
6.AJAX请求总共有多少种CALLBACK
Ajax请求总共有八种Callback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException
7.Ajax和@H_404_90@javascript的区别?
javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术,它是利用了一系列相关的技术其中就包括javascript。
Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。
在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。
在Ajax应用中信息是如何在浏览器和服务器之间传递的
通过XML数据或者字符串
,8,在浏览器端如何得到服务器端响应的XML数据
XMLHttpRequest对象的responseXMl属性
9,XMLHttpRequest对象在IE和Firefox中创建方式有没有不同?
有,IE中通过newActiveXObject()得到,Firefox中通过newXMLHttpRequest()得到
10,介绍一下XMLHttpRequest对象的常用方法和属性(回答的越多越好)
open(“method”,”URL”)建立对服务器的调用,第一个参数是HTTP请求方式可以为GET,POST或任何服务器所支持的您想调用的方式。
第二个参数是请求页面的URL。
send()方法,发送具体请求
abort()方法,停止当前请求
readyState属性请求的状态有5个可取值0=未初始化,1=正在加载
2=以加载,3=交互中,4=完成
reponseXML属性服务器的响应,表示为XML
status服务器的HTTP状态码,200对应ok400对应notfound
11,Ajax的优点和缺点
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
对应用Ajax最主要的缺点就是,它可能破坏浏览器后退按钮的正常行为
因为Ajax中采用了xml技术,所以在Ajax中也可能问到XML的问题
12,什么是XML
13,xml的解析方式
常用的用dom解析和sax解析。dom解析是一次性读取xml文件并将其构造为DOM对象供程序使用,优点是操作方便,但是比较耗内存。Sax是按事件驱动的方式解析的,占用内存少,但是编程复杂
14,你采用的是什么框架(架包)?
这题是必问的,一般也是最开始就会问到。
在java中比较流行的有dojo,Prototype,JQuery,Dwr,extjs等等
15,如果熟悉某种@H_404_90@ajax框架,他可能会问到怎样在程序中使用这种框架
DWR框架介绍
nDWR(DirectWebRemoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据java类来动态生成JavaScrip代码).
nDWR的实现原理是通过反射,将java翻译成javascript,然后利用回调机制,从而实现了javascript调用Java代码
16,介绍一下@H_404_90@Prototype的@H_404_90@$()函数,@H_404_90@$F()函数,@H_404_90@$A()函数都是什么作用?
$()方法是在@H_404_90@DOM中使用过于频繁的@H_404[email protected]()方法的一个便利的简写,就像这个@H_404_90@DOM方法一样,这个方法返回参数传入的@H_404_90@id的那个元素。
$F()函数是另一个大收欢迎的@H_404_90@“快捷键@H_404_90@”,它能用于返回任何表单输入控件的值,比如@H_404_90@textBox,drop-downlist。这个方法也能用元素@H_404_90@id或元素本身做为参数。
$A()函数能把它接收到的单个的参数转换成一个@H_404_90@Array对象。
17、介绍一下@H_404_90@XMLHttpRequest对象
通过@H_404_90@XMLHttpRequest对象,@H_404_90@Web开发人员可以在页面加载以后进行页面的局部更新。
AJAX开始流行始于@H_404_90@Google在@H_404_90@2005年使用的@H_404_90@”GoogleSuggest”。
“GoogleSuggest”就是使用@H_404_90@XMLHttpRequest对象来创建动态的@H_404_90@Web接口:
当用户开始输入@H_404_90@google的搜索框,@H_404_90@Javascript发送用户输入的字符到服务器,然后服务器返回一个建议列表。
XMLHttpRequest对象在@H_404[email protected]+,Safari1.2,Mozilla1.0/Firefox,Opera8+和@H_404_90@NetScapt7开始被支持。
18、@H_404_90@AJAX应用和传统@H_404_90@Web应用有什么不同?
在传统的@H_404_90@Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个@H_404_90@HTMLform然后@H_404_90@GET或者@H_404_90@POST数据到服务器端。用户需要点击@H_404_90@”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。
因为服务器每次都会返回一个新的页面,所以传统的@H_404_90@web应用有可能很慢而且用户交互不友好。
使用@H_404_90@AJAX技术,就可以使@H_404_90@Javascript通过@H_404_90@XMLHttpRequest对象直接与服务器进行交互。
通过@H_404_90@HTTPRequest,一个@H_404_90@web页面可以发送一个请求到@H_404_90@web服务器并且接受@H_404_90@web服务器返回的信息@H_404_90@(不用重新加载页面@H_404_90@),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到@H_404_90@Javascript后台进行的发送请求和接受响应。
19、@H_404_90@AJAX的全称是什么?介绍一下@H_404_90@AJAX?
AJAX的全称是@H_404_90@AsynchronousJavaScriptAndXML.
AJAX是@H_404_90@2005年由@H_404_90@Google发起并流行起来的编程方法,@H_404_90@AJAX不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术。
使用@H_404_90@AJAX可以创建更好,更快,更用户界面友好的@H_404_90@Web应用。
AJAX技术基于@H_404_90@Javascript和@H_404_90@HTTPRequest.
20,介绍一下@H_404_90@XMLHttpRequest对象的常用方法和属性?
open(“method”,”URL”)建立对服务器的调用,第一个参数是@H_404_90@HTTP请求方式可以为@H_404_90@GET,@H_404_90@POST或任何服务器所支持的您想调用的方式。
send()方法,发送具体请求
abort()方法,停止当前请求
readyState属性请求的状态有@H_404_90@5个可取值@H_404_90@0=未初始化,@H_404_90@1=正在加载
2=以加载,@H_404_90@3=交互中,@H_404_90@4=完成
reponseXML属性服务器的响应,表示为@H_404_90@XML
status服务器的@H_404_90@HTTP状态码,@H_404_90@200对应@H_404_90@ok400对应@H_404_90@notfound
21,@H_404_90@.Ajax主要包含了哪些技术?
Ajax(@H_404_90@AsynchronousJavaScript+XML)的定义
基于@H_404_90@web标准(@H_404_90@standards-basedpresentation)@H_404_90@XHTML+CSS的表示;
使用@H_404_90@DOM(@H_404_90@DocumentObjectModel)进行动态显示及交互;
使用@H_404_90@XML和@H_404_90@XSLT进行数据交换及相关操作;
使用@H_404_90@XMLHttpRequest进行异步数据查询、检索;
使用@H_404_90@JavaScript将所有的东西绑定在一起。英文参见@H_404_90@Ajax的提出者@H_404_90@JesseJamesGarrett的原文@H_404_90@,原文题目@H_404_90@(Ajax:ANewApproachtoWebApplications)。
类似于@H_404_90@DHTML或@H_404_90@LAMP,@H_404_90@AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于@H_404_90@AJAX的@H_404_90@“派生@H_404_90@/合成@H_404_90@”式(@H_404_90@derivative/composite)的技术正在出现,如@H_404_90@“AFLAX”。
AJAX的应用使用支持以上技术的@H_404_90@web浏览器作为运行平台。这些浏览器目前包括:@H_404_90@Mozilla、@H_404_90@Firefox、@H_404_90@InternetExplorer、@H_404_90@Opera、@H_404_90@Konqueror及@H_404_90@Safari。但是@H_404_90@Opera不支持@H_404_90@XSL格式对象,也不支持@H_404_90@XSLT。
22、@H_404_90@AJAX都有哪些有点和缺点?
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,@H_404_90@ajax的原则是@H_404_90@“按需取数据@H_404_90@”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点
1、@H_404_90@ajax不支持浏览器@H_404_90@back按钮。
2、安全问题@H_404_90@AJAX暴露了与服务器交互的细节。
4、破坏了程序的异常机制。
5、不容易调试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。