AJAX题库
Q1:采用Ajax技术,除了酷炫效果之外,还有什么好处?
答:所谓的「酷炫」应该是指可以随意拖放网页上的Widget、色彩渐层、元件的淡出/淡入、图案变大/变小等效果,或者惊艳于Web Mail竟然可以提供类似Outlook的介面。
其实最直接而明显的好处,是减少网页重新载入的次数。
根据统计,购物网站每刷新一次网页,就会有10%的消费者在等待的过程中「清醒」,发觉未必有购买的需要,而取消交易。当网页不再因为少部分的资料被修改,就必须重新载入整个网页,即可减少使用者等待的时间,提供更流畅的操控体验。
无论是酷炫效果、精致的画面,或者顺畅的流程,对于网站的形象、商品销售及使用者体验都具加分的效果。
Q2:操控流畅对网站是有加分效果,但从企业的角度,关心的层面还包括Intranet的应用,Web应用程式适合加入Ajax技术吗?
答:在我们了解推推王、UrMap、Yahoo!及网擎Mail2000等的Ajax应用之后,发现Web应用程式还真的非常适合采用Ajax技术。
注意力持续,有效提升生产力
应用程式的操作往往包含复杂的流程,然而Web化之后,流程变成了一连串网页提交(Submit)的动作,每一次的更新网页都需要数秒的等待,而且不能按「上一页」退回前一个步骤。
在Web化的时代,企业最担心的问题,并不是浪费了那几秒等待载入网页的时间,而是人在等待的空闲,很自然地会开启另一个网页,注意力就被导引到其他更有趣的资讯上,再次回神时,可能是半小时以后。
所以,对购物网站而言,注意力的持续是订单的保证;对企业而言,则是生产力的提升。
延续桌面应用程式的操控体验
不能按「上一页」的操作模式,强烈地显现出「应用程式」与「浏览器」操作习性上的不同。当应用程式执行的环境搬到Web之后,使用者仍然期待保有桌面应用的操作体验,透过Ajax的非同步技术,即有机会消弭应用程式与浏览器之间的鸿沟。
以Yahoo!邮件信箱与Mail 2000为例,在Ajax化之后,使用者体验的是与Outlook极其类似的操作方式。网擎资讯从用户的回馈发现,由于操控方式的改变,使直觉与便利性向前跃进一大步,因此使用者满意度明显提升。
Q3:会不会拖慢Web伺服器效能?
答:可能是因为Ajax的酷炫效果,以及首次载入Ajax网页的时间比一般HTML网页长的原因,所以容易让人误以为采用Ajax会拖慢伺服器效能。事实上,刚好相反!
Ajax技术与传统网页与Web伺服器沟通方式各有不同。传统的作法是用户端送一个请求(Request)至Web伺服器,即使只需更动一个栏位的值,Web伺服器仍需重组一个完整的网页,回应(Response)给用户端,也因此浏览器必须重新载入一次。
相较之下Ajax技术使网页具备程式能力,当使用者修改资料,触发了JavaScript程式,浏览器便将使用者输入的资料传送至Web伺服器,Web伺服器会再把需要回传的资料送至浏览器,当JavaScript接收到资料之后,再把结果呈现在网页上。
过程中完全没有触发提交动作,Web伺服器只回传需要修改的内容,而且浏览器也没有重新载入的动作。这对伺服器负载、频宽使用量及用户端的操作体验是三赢的局面。
根据UrMap改用Ajax技术传递地图资讯的经验,在使用人数成长了10倍以上的情况下,伺服器的负担相较于以往仍是减少,而频宽使用量也没有增加太多。
再以网擎资讯Mail 2000 4.5 Beta版改采Ajax技术为例,观察的结果发现,伺服器需要运算的资料量减少,频宽成本也下降。以一页的信件列表为例,过去100封邮件约需要传送120KB的资料量,现在则降为30KB。点选「新信检查」功能,递送的资料量约略是过去的1/5~1/4。
Q4:AutoComplete这类的Ajax机制,频繁地向伺服器要资料,应该会拖慢效能,是否有方法可解?
答:AutoComplete或内容自动更新等Ajax机制,是使用者非常喜欢的功能。但人数众多时,确实可能拖慢伺服器效能。
不过,此类问题可从设计上解决,例如设定快取机制、延长反应的时间、每填入3个英文字母才查询一次,或者限制使用资料等,都是可能的解法。
带领开发UrMap的友迈科技董事长卓政宏形容:「这是一种程式管理资源的方法。」他举例:UrMap下载的地图资讯,其实略多于网页显示的范围,使用者微幅地拖拉或缩放地图时,其实叫用的是本机资料,并没有对伺服器发出请求。所以,只要根据使用者的行为模式调整设计,就可以降低伺服器的负担。
Q5:那么Ajax对用户端的执行效能有何影响?
答:相对于传统网页,Ajax技术使得用户端与伺服器传递的资料量变少,又避免了网页重新载入的机会,Ajax操作阶段的效能的确是较佳的。
不过,首次登入网站时,下载的资料除了页面呈现的内容外,还包含强化互动性的JavaScript程式时,你可能会发现载入时间变长。针对用户端的执行效能,Yahoo!国际资讯软体工程师蒋定宇认为:「尽量缩短JavaScript程式码,就可以将影响降到最低。」 
如果直接用jQuery里的$.ajax()方法的话,去除缓存很简单,只需要配置一下缓存属性cache为false,但如果想要简单写法getJSON(),去除缓存就不能通过配置来解决了。因为getJSON根本没有这个缓存属性让你来配置。因为如果其调用的地址URL和之前的一样的话,回调函数会直接在缓存里面读取数据,而不是进后台调用相应的方法。
解决方法就是让他的每次请求的URL地址不一样就行,但是同时又要不影响请求的服务所需要的数据,那么可以有一下几种方法:
1、$.getJSON(“URL?t=”+new Date(),function(json){});就是原有的URL基础上加一个时间变量,每次的请求地址就不一样了。
2、$.getJSON(“URL?rand=”+Math.random,function(json){});就是原有的URL基础上加上一个随机变量,不过这个方法有风险,万一随机数一样。。。。。。
3、第三种方法就是自己定义一个递增变量,在URL后面加上这个递增变量,每次请求完后,就递增一下。
$.get()去除缓存的方法和$.getJSON()相同。 
$.ajax({    dataType : ‘json’    ,type : ‘POST’    ,url : ‘http://localhost/test/test.do’    ,data : {id: 1, type: ‘商品’}    ,success : function(data){            } } );
问题:
  提交后后台action程序时,取到的type是乱码
  解决方法:
  方法一:提交前采用encodeURI两次编码,记住一定是两次
  1.修改以下代码
  data:{id:1, type:encodeURI(encodeURI(‘商品’))}2.在后台action里要对取得的字符串进行decode
1String type = request.getParameter(“type”);2type = URLDecoder.decode(type, “UTF-8″);
方法二:ajax配置contentType属性,加上charset=UTF-8
  在ajax方法中加入以下参数
  contentType: “application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,设置header中contentType即可,
  这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的.
方法二在action里不需要进行decode,所以推荐使用此方法
几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比
量级选择轻量级的选择:主要是mootools和jquery,由于它们的设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求这些目标以外,其核心在于面向对象,所以jQuery适合于快速开发,Mootools适合于稍大型和复杂的项目,其中需要面向对象的支持;另外,在Ajax的支持上,jQuery稍强一些;在Comet的支持上,jQuery有相关的插件,Mootools目前没有,但是Comet的核心在于服务器的支持,浏览器端的接口很简单,开发相关的插件很简单。
在面向对象的Javascript Library中,mootools逐渐战胜了prototype(体积大,面向对象的设计不合理等),也包括script.acul.ous(基于prototype,实际上就是prototype上的UI库)。
面向RIA的框架
考虑纯JavaScripty库,目前主要是Dojo和ExtJS(还有YUI)。Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。
ExtJS:美观和”易用”,并且足够强大。在对UI有比较大的需求时,是首选。 
ExtJS是一个用javascript写的,主要用于创建前端用户界面,
是一个与后台技术无关的前端ajax框架。
因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。
  ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,
通过参考Java Swing等机制来组织可视化组件,
无论从UI界面上CSS样式的应用,到数据解析上的异常处理,
都可算是一款不可多得的JavaScript客户端技术的精品。
详细出处参考:http://www.jb51.net/article/16993.htm 
富客户端,英文名Rich Client。简单地讲,IE浏览器就是瘦客户端。
所以非IE浏览器的程序一般可以看作胖客户端。详细地讲,可以这么说:
一个程序,能够通过下载文件来操作,运行一个应用,或者从一个文件服务器
请求一个基于应用的服务。它需要安装,并且不同于一个薄客户端
(Thin   Client),比如一个普通的Web页面。富客户端为一个客户端,
它有着复杂的UI界面和交互。
或者用例子来说明什么是富客户端,以下都是属于富客户端:
  [1] Java Applet,应用于Web页面。       [2] Javascript   Application,比如 Bindows       [3] J2ME MIDP Midlets on a  phone/PDA       [4] Macromedia 公司的Flash技术       [5] 微软的MFC应用程序       [6] Eclipse的RCP程序  [7] Flex程序(属于Flash一类的比较新的技术) 
Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将
笨拙的 Web 界面转化成交互性的 Ajax 应用程序。
AJAX最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的
操作XMLHttpRequest对象相关方法:
打开请求
XMLHttpRequest.open(传递方式,地址,是否异步请求)
准备就绪执行
XMLHttpRequest.onreadystatechange
获取执行结果 
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
$() 方法是在DOM中使用过于频繁的 document.getElementById()
方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数
传入的id的那个元素。
$F()函数是另一个大收欢迎的“快捷键”,它能用于返回任何表单输入控
件的值,比如text box,drop-down
list。这个方法也能用元素id或元素本身做为参数。
$A()函数能把它接收到的单个的参数转换成一个Array对象。 
在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,
或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者PO
ST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息
,然后等待服务器响应请求,页面重新加载。 因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而
且用户交互不友好。 使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服
务器进行交互。 通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受
web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用
户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。  
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得
Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改
变过的信息。
对应用Ajax最主要的缺点就是,它可能破坏浏览器后退按钮的正常行为
因为Ajax中采用了xml技术,所以在Ajax中也可能问到XML的问题
因为使用ajxa传递参数的时候需要head支持,所以我们只有在站点下才可以
成功,比如我们放在Apache下面或者IIS下面进行调试。 
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。 
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:
* 动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。
* 提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载32K的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。
* 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。
* 直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。
一切皆有可能!但愿它能够激发您开始开发自己的基于Ajax的站点。然而,在开始之前,让我们介绍一个现有的Web站点,它遵循传统的提交/等待/重新显示的范例,我们还将讨论Ajax如何提升用户体验。
Ajax可用于那些场景?——一个例子:MSN Money页面
前几天,在浏览MSN Money页面的时候,有一篇关于房地产投资的文章引起了我的好奇心。我决定使用站点的“Rate this article”(评价本文)功能,鼓励其他的用户花一点时间来阅读这篇文章。在我单击vote按钮并等待了一会儿之后,整个页面被刷新,在原来投票问题所在的地方出现了一个漂亮的感谢画面。
而Ajax能够使用户的体验更加愉快,它可以提供响应更加灵敏的UI,并消除页面刷新所带来的闪烁。目前,由于要刷新整个页面,需要传送大量的数据,因为必须重新发送整个页面。如果使用Ajax,服务器可以返回一个包含了感谢信息的500字节的消息,而不是发送26,813字节的消息来刷新整个页面。即使使用的是高速Internet,传送26K和1/2K的差别也非常大。同样重要的是,只需要刷新与投票相关的一小节,而不是刷新整个屏幕。
让我们利用Ajax实现自己的基本投票系统。
原始的Ajax:直接使用XmlHttpRequest
如上所述,Ajax的核心是JavaScript对象XmlHttpRequest。下面的示例文章评价系统将带您熟悉Ajax的底层基本知识:http://tearesolutions.com/ajax-demo/raw-ajax.html。注:如果您已经在本地WebLogic容器中安装了ajax-demo.war,可以导航到http://localhost:7001/ajax-demo/raw-ajax.html,
浏览应用程序,参与投票,并亲眼看它如何运转。熟悉了该应用程序之后,继续阅读,进一步了解其工作原理细节。
首先,您拥有一些简单的定位点标记,它连接到一个JavaScriptcastVote(rank)函数。
function castVote(rank) {
var url = “/ajax-demo/static-article-ranking.html”;
var callback = processAjaxResponse;
executeXhr(callback, url);
}
该函数为您想要与之通信的服务器资源创建一个URL并调用内部函数executeXhr,提供一个回调JavaScript函数,一旦服务器响应可用,该函数就被执行。由于我希望它运行在一个简单的Apache环境中,“cast vote URL”只是一个简单的HTML页面。在实际情况中,被调用的URL将记录票数并动态地呈现包含投票总数的响应。
下一步是发出一个XmlHttpRequest请求:
function executeXhr(callback, url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = callback;
req.open(“GET”, url, true);
req.send(null);
} // branch for IE/Windows ActiveX version
else if (window.ActiveXObject) {
req = new ActiveXObject(“Microsoft.XMLHTTP”);
if (req) {
req.onreadystatechange = callback;
req.open(“GET”, url, true);
req.send();
}
}
}
如您所见,执行一个XmlHttpRequest并不简单,但非常直观。和平常一样,在JavaScript领域,大部分的工作量都花在确保浏览器兼容方面。在这种情况下,首先要确定XmlHttpRequest是否可用。如果不能用,很可能要使用Internet Explorer,这样就要使用所提供的ActiveX实现。
executeXhr()方法中最关键的部分是这两行:
req.onreadystatechange = callback;
req.open(“GET”, url, true);
第一行定义了JavaScript回调函数,您希望一旦响应就绪它就自动执行,而req.open()方法中所指定的“true”标志说明您想要异步执行该请求。
一旦服务器处理完XmlHttpRequest并返回给浏览器,使用req.onreadystatechange指派所设置的回调方法将被自动调用。
function processAjaxResponse() {
// only if req shows “loaded”
if (req.readyState == 4) {
// only if “OK”
if (req.status == 200) {
502 502′votes’).innerHTML = req.responseText;
} else {
alert(“There was a problem retrieving the XML data:
” +
req.statusText);
}
}
}
该代码相当简洁,并且使用了几个幻数,这使得难以一下子看出发生了什么。为了弄清楚这一点,下面的表格(引用自http://developer.apple.com/internet/webcontent/xmlhttpreq.html)列举了常用的XmlHttpRequest对象属性。
属性
描述
onreadystatechange
每次状态改变所触发事件的事件处理程序
readyState
对象状态值:
* 0 = 未初始化(uninitialized)
* 1 = 正在加载(loading)
* 2 = 加载完毕(loaded)
* 3 = 交互(interactive)
* 4 = 完成(complete)
responseText
从服务器进程返回的数据的字符串形式
responseXML
从服务器进程返回的DOM兼容的文档数据对象
status
从服务器返回的数字代码,比如404(未找到)或200(就绪)
statusText
伴随状态码的字符串信息
现在processVoteResponse()函数开始显示出其意义了。它首先检查XmlHttpRequest 的整体状态以保证它已经完成(readyStatus == 4),然后根据服务器的设定询问请求状态。如果一切正常(status == 200),就使用innerHTML属性重写DOM的“votes”节点的内容。
既然您亲眼看到了XmlHttpRequest对象是如何工作的,就让我们利用一个旨在简化JavaScript与Java应用程序之间的异步通信的框架来对具体的细节进行抽象。
Ajax: DWR方式
按照与文章评价系统相同的流程,我们将使用Direct Web Remoting(DWR)框架实现同样的功能。
假定文章和投票结果存储在一个数据库中,使用某种对象/关系映射技术来完成抽取工作。为了部署起来尽可能地简单,我们不会使用数据库进行持久性存储。此外,为使应用程序尽可能通用,也不使用Web框架。相反,应用程序将从一个静态HTML文件开始,可以认为它由服务器动态地呈现。除了这些简化措施,应用程序还应该使用Spring Framework关联一切,以便轻松看出如何在一个“真实的”应用程序中使用DWR。
现在应该下载示例应用程序并熟悉它。该应用程序被压缩为标准的WAR文件,因此您可以把它放置到任何一个Web容器中——无需进行配置。部署完毕之后,就可以导航到http://localhost:7001/ajax_demo/dwr-ajax.html来运行程序。
可以查看HTML源代码,了解它如何工作。给人印象最深的是,代码如此简单——所有与服务器的交互都隐藏在 JavaScript对象ajaxSampleSvc的后面。更加令人惊讶的是,ajaxSampleSvc服务不是由手工编写而是完全自动生成的!让我们继续,看看这是如何做到的。
引入DWR
如同在“原始的Ajax”一节所演示的那样,直接使用XmlHttpRequest创建异步请求非常麻烦。不仅JavaScript代码冗长,而且必须考虑服务器端为定位Ajax请求到适当的服务所需做的工作,并将结果封送到浏览器。
设计DWR的目的是要处理将Web页面安装到后端服务上所需的所有信息管道。它是一个Java框架,可以很轻松地将它插入到Web应用程序中,以便JavaScript代码可以调用服务器上的服务。它甚至直接与Spring Framework集成,从而允许用户直接向Web客户机公开bean。
DWR真正的巧妙之处是,在用户配置了要向客户机公开的服务之后,它使用反射来生成JavaScript对象,以便 Web页面能够使用这些对象来访问该服务。然后Web页面只需接合到生成的JavaScript对象,就像它们是直接使用服务一样;DWR无缝地处理所有有关Ajax和请求定位的琐碎细节。
一、说说你常用的几个jsp隐式对象,例如PageContext等。
二、简述你对Java Web MVC设计模式的理解。
三、如果接触过webwork2、spring开源框架,简单评诉对它们的理解。
四、javascript在你做过的web项目中占据什么角色?你对JavaScript&DHTML开发有无心得或兴趣?
五、是否接触过AJAX技术?
六、在你最近的一个项目中你担任什么角色。主要做什么工作,用了那些技术。
七、列几个常上的java技术网站。
1.AJAX基础知识_选择题
1. Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest中控制文档结构的是:( )
A DOM
B CSS
C javascript
D XMLHttpRequest
参考答案:A
2. 在Ajax的四种技术中,控制通信的是哪一个?( )
A DOM
B CSS
C javascript
D XMLHttpRequest
参考答案:D
3. 在Ajax的四种技术中,JavaScript的主要作用是:()
A 控制页面显示风格
B 控制文档结构
C 控制通信
D 控制其他的三个对象
参考答案:D
4. 请按XMLHttpRequest发送请求的一般步骤的顺序从以下选项中选择正确的答案:( )
A xhr.onreadstatechange
B xhr.open()
C xhr.send()
D create XMLHttpRequest xhr
参考答案:DABC
5. 在处理应答中,如果我们要以文本的方式处理,我们需要在参数表中放置XMLHttpRequest对象的什么属性?( )
A xhr.responseText
B xhr.responseXML
C xhr.requestText
D xhr.requestXML
参考答案:A
6. 在处理应答中,如果我们要处理XML文档,我们需要在参数表中放置XMLHttpRequest对象的什么属性?()
A xhr.responseText
B xhr.responseXML
C xhr.requestText
D xhr.requestXML
参考答案:B
7. 在IE浏览器上创建XMLHttpRequest对象的方法是?()
A var a=new ActiveXObject("Microsoft.XMLHTTP");
B var a=new XMLHttpRequest();
参考答案:A
8. xhr.status==200表示什么?
A 表示错误
B 表示找不到资源文件
C 表示成功
参考答案:C
9. xhr.status==404表示什么?
A 表示错误
B 表示找不到资源文件
C 表示成功
参考答案:B
10. XmlHttpRequest对象的readyState状态,当xhr.readyState==1表示:()
A 全部取完
B 正在load
C 已经完成
D 未初始化
E 正在交互
参考答案:B
11. XmlHttpRequest对象的readyState状态,当xhr.readyState==2表示:()
A 全部取完
B 正在load
C 已经完成
D 未初始化
E 正在交互
参考答案:A
12. XmlHttpRequest对象的readyState状态,当xhr.readyState==4表示:()
A 全部取完
B 正在load
C 已经完成
D 未初始化
E 正在交互
参考答案:C
2.AJAX流行框架_选择题
1. 在JSON框架中,客户端对象转换字符串的函数是:( )
A new JSONObject(str)
B JSON.stringify(object)
C toString()
D JSON.parse(str)
参考答案:B
2. 在JSON框架中,对象转换成字符串的函数是:( )
A new JSONObject(str)
B JSON.stringify(object)
C toString()
D JSON.parse(str)
参考答案:D
3. 在JSON框架中,服务器端对象转化成字符串的函数是:()
A new JSONObject(str)
B JSON.stringify(object)
C toString()
D JSON.parse(str)
参考答案:C
4. 在JSON框架中,服务器端字符串转化成对象的函数是:( )
A new JSONObject(str)
B JSON.stringify(object)
C toString()
D JSON.parse(str)
参考答案:A
5. 使用 DWR框架让前台开发的程序员,像使用本地javascript对象一样,去使用服务器端的java对象,而不必去关心网络的传输和参数类型转化的细节,那么他是基于什么模式设计的?()
A 代理模式
B 适配器模式
C 享元模式
D 门面模式
参考答案:A
6. Dojo框架主要针对的是?( )
A 客户端
B 服务器端
参考答案:A
3.AJAX流行框架_简答题
1. 请回答:什么是JSON框架?
参考答案:JSON框架是一种轻量级的数据交换格式,它是文本格式的基于浏览器和WebServer之间的线上协议。其工作方式就是 对象和字符串之间的相互转化。
2. 请说明如何搭建JSON的运行环境?
参考答案:大家JSON的运行环境,在客户端和服务器端分别要作以下工作:
(1)服务器端需要配置json.jar文件,把该文件放到WEB-INF/lib
(2)在客户端需要导入json.js文件。
<script type="text/javascript" src="json.js"></script>
3. 请回答:什么是DWR框架?
参考答案: DWR框架为每一个服务器端的java对象生成一个javaScript对象,让前台开发的程序员,像使用本地javascript对象一样,去使用服务器端的java对象,而不必去关心网络的传输和参数类型转化的细节。
4. 请回答DWR的基本实现思想是什么?
参考答案:对于服务器端每一个javabean,在客户端都会生成一个javascript对象。两个对象中的方法是一样的。当用户调用javascript对象的方法时,这个方法会通过网络,去调用服务器端javabean,而这种通信过程,对用户来讲并不知情。
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号