最新Ajax面试题专栏.doc
《最新Ajax面试题专栏.doc》由会员分享,可在线阅读,更多相关《最新Ajax面试题专栏.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateAjax面试题专栏Ajax获取页面被缓存的解决方法?Ajax获取页面被缓存的解决方法? 、/加一个随机数/var number = Math.random();number = number * 1000000000;number = Math.ceil(number);var url=get_book.aspx?book_num=+book_num+&ranum=+
2、number或 var timespan=(new Date().getTime;var url=get_book.aspx?book_num=+book_num+& timespan =+ datetimeAjax跨域问题解决方案? 使用中间层过渡的方式: 中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c+等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和
3、不同域的PHP进行通讯,然后由本域的PHP输出response;2、使用script标签这个方法是利用script标签中的src来query一个PHP获得response,因为script标签的src属性不存在跨域的问题。eg:script LANGUAGE=”Javascript” src=” id=”get” /script script LANGUAGE=”Javascript” ! function get(url) var obj = document.getElementById(“get”); obj.src = url; (obj.readStatus = 200) alert
4、(param); function query() get(get.php); / /scriptjQuery Ajax中文乱码问题? $.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(
5、商品)2.在后台action里要对取得的字符串进行decode1String 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,如果没有这个,是
6、不行的,默认jQuery里的contentType是没有的.方法二在action里不需要进行decode,所以推荐使用此方法几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比 轻量级选择 轻量级的选择:主要是mootools和jquery,由于它们的设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求这些目标以外,其核心在于面向对象,所以jQuery适合于快速开发,Mootools适合于稍大型和复杂的项目,其中需要面向对象的支持;另外,在Ajax的支持上,jQuery稍强一些;在Comet的支持上,jQuery有相关的插件,Mootools目前
7、没有,但是Comet的核心在于服务器的支持,浏览器端的接口很简单,开发相关的插件很简单。在面向对象的Javascript Library中,mootools逐渐战胜了prototype(体积大,面向对象的设计不合理等),也包括script.acul.ous(基于prototype,实际上就是prototype上的UI库)。面向RIA的框架考虑纯JavaScripty库,目前主要是Dojo和ExtJS(还有YUI)。Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下
8、来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。ExtJS:美观和”易用”,并且足够强大。在对UI有比较大的需求时,是首选。ExtJS的优缺点 主页:设计思想 组件化,推进RIA(Rich Internet Application)的应用。优点 强大的UI,而且性能不错,这是其最大的优点。 速度快,管是UI还是其它模块。 100%面向对象和组件化的思想,一致的语法,全局的命名空间。 文档的完整,规范,方便。 核心的开发团队,Jack Slocum等。 活跃的社区,迅速增加的用户量。 模块化实现,可扩展性强。 所有的组件(widgets)都可直接使用,而无需进行设置(当然,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Ajax 试题 专栏
限制150内