Ajax面试题专栏

上传人:206****923 文档编号:90811409 上传时间:2019-06-19 格式:DOC 页数:4 大小:33.50KB
返回 下载 相关 举报
Ajax面试题专栏_第1页
第1页 / 共4页
Ajax面试题专栏_第2页
第2页 / 共4页
Ajax面试题专栏_第3页
第3页 / 共4页
Ajax面试题专栏_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《Ajax面试题专栏》由会员分享,可在线阅读,更多相关《Ajax面试题专栏(4页珍藏版)》请在金锄头文库上搜索。

1、Ajax获取页面被缓存的解决方法? 、/加一个随机数/var number = Math.random();number = number * 1000000000;number = Math.ceil(number);var url=get_book.aspx?book_num=+book_num+&ranum=+number或 var timespan=(new Date().getTime;var url=get_book.aspx?book_num=+book_num+& timespan =+ datetimeAjax跨域问题解决方案? 使用中间层过渡的方式: 中间过渡,很明显,就是

2、在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c+等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;2、使用script标签这个方法是利用script标签中的src来query一个PHP获得response,因为script标签的src属性不存在跨域的问题。eg:script LANGUAGE=”Javascript

3、” src=” id=”get” /script script LANGUAGE=”Javascript” ! function get(url) var obj = document.getElementById(“get”); obj.src = url; (obj.readStatus = 200) alert(param); function query() get(get.php); / /scriptjQuery Ajax中文乱码问题? $.ajax( dataType : json ,type : POST ,url : http:/localhost/test/test.do

4、,data : id: 1, type: 商品 ,success : function(data) );问题:提交后后台action程序时,取到的type是乱码解决方法:方法一:提交前采用encodeURI两次编码,记住一定是两次1.修改以下代码data:id:1, type:encodeURI(encodeURI(商品)2.在后台action里要对取得的字符串进行decode1String type = request.getParameter(“type”); 2type = URLDecoder.decode(type, “UTF-8);方法二:ajax配置contentType属性,加

5、上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,由于它们的

6、设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求这些目标以外,其核心在于面向对象,所以jQuery适合于快速开发,Mootools适合于稍大型和复杂的项目,其中需要面向对象的支持;另外,在Ajax的支持上,jQuery稍强一些;在Comet的支持上,jQuery有相关的插件,Mootools目前没有,但是Comet的核心在于服务器的支持,浏览器端的接口很简单,开发相关的插件很简单。在面向对象的Javascript Library中,mootools逐渐战胜了prototype(体积大,面向对象的设计不合理等),也包括script.acul.ous(基于prototype,

7、实际上就是prototype上的UI库)。面向RIA的框架考虑纯JavaScripty库,目前主要是Dojo和ExtJS(还有YUI)。Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。ExtJS:美观和”易用”,并且足够强大。在对UI有比较大的需求时,是首选。ExtJS的优缺点 主页:http:/ 组件化,推进RIA(Rich Internet Application)的应用。优点 强大的UI

8、,而且性能不错,这是其最大的优点。 速度快,管是UI还是其它模块。 100%面向对象和组件化的思想,一致的语法,全局的命名空间。 文档的完整,规范,方便。 核心的开发团队,Jack Slocum等。 活跃的社区,迅速增加的用户量。 模块化实现,可扩展性强。 所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。缺点 稍复杂。 为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。注意:EXT的商业使用:如果只是把extjs包含在自己的项目中,而且这个项目不是卖给用户做二次开发的工具箱,或组件库,就可以遵守LGPL协议免费使

9、用;否则要付费。ExtJS最大的优势在于它将Web应用程序的操作方式向传统桌面应用程序的操作方式进行转化甚至消除了这种差异,从根本上提高了用户的使用体验,这是ExtJS应用前景广阔的主要原因,其次使用ExtJS对浏览器没有任何要求可以说是一种绿色的富客户端实现方式,这是它应用前景广阔的第二个原因,另外ExtJS提供的各种组件可以用更加标准的方式展示数据降低了开发难度,这可以说是它应用前景广阔的第三点原因。ExtJS是什么? ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发

10、语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。详细出处参考:http:/ jQuery是一个强大的JavaScript库,无论你具有什么样的编程背景,都可以通过它来增强自己的网站。 jQuery于2006年一月十四号在BarCamp NYC(New York City)面世。主将 John Resig ,写有Pro JavaScript Techniques一书,因为效力于mozoll

11、a,据说firefox 3将包含Jquery,现在的 Jquery团队有主要开发人员,推广人员,UI,插件开发,网站设计维护,其中3个主要开发人员分别是:两个美国人John Resig/Brandon Aaron,一个德国人Jorn Zaefferer)到目前为之jQuery已经发布到1.3.2版本(http:/ jQuery 这样的 JavaScript 库的将越来越重要。应用程序会越来越复杂,这就使跨浏览器的 jQuery 成为所有 Web 应用项目的必要工具。由于易于使用和功能完备,jQuery逐渐从其他 JavaScript 库中脱颖而出,成为很多开发人员的最佳选择。Firefox和微

12、软均已准备引入jQuery.同类其他面试题 点击新一篇或旧一篇可浏览全部同类面试题什么是富客户端,什么是薄(瘦)客户端 富客户端,英文名Rich Client。简单地讲,IE浏览器就是瘦客户端。所以非IE浏览器的程序一般可以看作胖客户端。详细地讲,可以这么说:一个程序,能够通过下载文件来操作,运行一个应用,或者从一个文件服务器请求一个基于应用的服务。它需要安装,并且不同于一个薄客户端(Thin Client),比如一个普通的Web页面。富客户端为一个客户端,它有着复杂的UI界面和交互。或者用例子来说明什么是富客户端,以下都是属于富客户端: 1 Java Applet,应用于Web页面。 2 J

13、avascript Application,比如 Bindows 3 J2ME MIDP Midlets on a phone/PDA 4 Macromedia 公司的Flash技术 5 微软的MFC应用程序 6 Eclipse的RCP程序 7 Flex程序(属于Flash一类的比较新的技术)ajax是什么及其工作原理? 这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。AJAX最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作XMLHttpRequest对象相关方法:打开请求XMLHttpRequest.open(传递方式,地

14、址,是否异步请求)准备就绪执行XMLHttpRequest.onreadystatechange获取执行结果XMLHttpRequest.responseText主要的Ajax框架都有什么? * Dojo(dojotoolkit.org);* Prototype和Scriptaculous (www.prototypejs.org和script.aculo.us);* Direct Web Reporting (getahead.org/dwr);* Yahoo! User Interface Library( Google Web Toolkit ( 代码:new Ajax.Request(/your_url),method : get,onSuccess : function(transport)var response = transport.responseText | “no response text”;alert(”Success!”); ,onFailure : function() alert(failure);介绍一下Prototy

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号