2.AJAX流行框架_简答题
JSP Ajax Ajax框架概述

JSP Ajax Ajax框架概述在使用JavaScript、XML、DOM等技术编写Ajax页面时,我们需要考虑很多问题,如针对不同的浏览器,需要使用不同的方式创建XMLHttpRequest对象,以达到在所有的浏览器都能够浏览演示。
编写一个Ajax案例,如果还是采用以前的A jax设计方法,不可以避免的要产生大量的重复性代码,如每个Ajax页面都需要创建XMLHttpRequest对象,对XML文件的处理方式等。
编写Ajax页面的大量时间浪费在这些重复性的代码上,显然有点不划算。
这些情况对一个优秀的程序员来说,根本不是问题。
我们可以把这些重复性的代码,多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XMLHttpReq uest对象。
把重复性、关键性代码封装起来,能够达到代码重复重用的目的,能够很好的维护程序和调试程序。
把重复性代码封装起来,做出独立的文件,这里文件的扩展名为.js。
利用这些封装JavaScript文件可以形成自己的代码库,进而形成属于自己的框架。
创建属于自己的Ajax代码库,会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。
对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。
从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了大量的时间和精力。
于是,大量的Ajax框架诞生了,Ajax框架很多,几乎每月都要产生一些新的框架。
有些框架基于客户端,有些基于服务器端;有些专门为特定语言设计,如Java。
另外还有一些与语言无关。
其中绝大部分都是开源的,但也有少数是专用的。
经过Ajax框架的发展,一些框架已经逐渐被淘汰,一些框架被保留了下来。
Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。
基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。
前端ajax面试题及答案

前端ajax面试题及答案导语:参加前端ajax面试的求职者们,前端ajax面试题及答案哪里有呢?以下是小编为大家整理的文章,欢迎阅读!希望对大家有所帮助!前端ajax面试题及答案1.你能描述一下渐进增强和优雅降级之间的不同吗?优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。
由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效.渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。
当浏览器支持时,它们会自动地呈现出来并发挥作用。
2.线程与进程的区别?一个程序至少有一个进程,一个进程至少有一个线程。
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。
每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。
但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。
但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
这就是进程和线程的重要区别。
3.说说你对语义化的理解?1:去掉或样式丢失的时候能让页面呈现清晰的结构:html本身是没有表现的,我们看到例如是粗体,字体大小2em,加粗;是加粗的,不要认为这是html 的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。
Ajax常见面试题

1. Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest中控制文档结构的是:()A DOMB CSSC javascriptD XMLHttpRequest参考答案:A2. 在Ajax的四种技术中,控制通信的是哪一个?()A DOMB CSSC javascriptD XMLHttpRequest参考答案:D3. 在Ajax的四种技术中,JavaScript的主要作用是:()A 控制页面显示风格B 控制文档结构C 控制通信D 控制其他的三个对象参考答案:D49.当XMLHttpRequest 对象的状态发生改变时调用yourCallback 函数,下列选项中正确的是()。
A.xmlHttpRequest. yourCallback = onreadystatechange; B.xmlHttpRequest.onreadystatechange (yourCallback); C.xmlHttpRequest.onreadystatechange (new function(){yourCallback }); D.xmlHttpRequest.onreadystatechange = yourCallback;50.关于XmlHttpRequest 对象的五种状态,下列说法正确的是()。
A.1表示新创建B.2表示初始化C.3表示发送数据完毕D.4表示接收结果完毕5. 在处理应答中,如果我们要以文本的方式处理,我们需要在参数表中放置XMLHttpRequest对象的什么属性?()A xhr.responseTextB xhr.responseXMLC xhr.requestTextD xhr.requestXML参考答案:A6. 在处理应答中,如果我们要处理XML文档,我们需要在参数表中放置XMLHttpRequest 对象的什么属性?()A xhr.responseTextB xhr.responseXMLC xhr.requestTextD xhr.requestXML参考答案:B7. 在IE浏览器上创建XMLHttpRequest对象的方法是?()A var a=new ActiveXObject("Microsoft.XMLHTTP");B var a=new XMLHttpRequest();参考答案:A8. xhr.status==200表示什么?A 表示错误B 表示找不到资源文件C 表示成功参考答案:C9. xhr.status==404表示什么?A 表示错误B 表示找不到资源文件C 表示成功参考答案:B3. 以下哪个技术不是Ajax技术体系的组成部分?a. XMLHttpRequestb. DHTMLc. CSSd. DOM正确答案:bAJAX应用和传统Web应用有什么不同?在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。
前端面试题整理—ajax篇

前端⾯试题整理—ajax篇1、什么是Ajax和JSON,它们的优缺点 Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,⽤于在Web页⾯中实现异步数据交互,实现页⾯局部刷新 优点:可以实现异步通信效果,页⾯局部刷新,带来更好的⽤户体验 JSON是⼀种轻量级的数据交换格式,看着像对象,本质是字符串 优点:轻量级、易于⼈的阅读和编写,便于js解析,⽀持复合数据类型2、ajax的交互流程有哪⼏步? 1)创建ajax对象 xhr = new XMLHttpRequest 2)规定请求地址 xhr.open(method,url,async) 3)等待服务器相应 xhr.onload 4)向服务器发送请求 xhr.send()3、AJAX应⽤和传统Web应⽤有什么不同 在传统的Js中,如果想发送客户端信息到服务器,需要建⽴⼀个HTML 表单然后GET或者POST数据到服务器端 ⽤户需要点击提交按钮来发送数据信息,然后等待服务器响应请求,页⾯重新加载 使⽤AJAX技术,就可以使Javascript通过XMLHttpRequest对象直接与服务器进⾏交互4、XMLHttpRequest对象在IE和Firefox中创建⽅式有没有不同? IE中通过new ActiveXObject()得到,Firefox中通过newXMLHttpRequest()得到 使⽤jquery封装好的ajax,会避免这些问题5、ajax如何解决浏览器缓存问题 1)在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0") 2)在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache") 3)在URL后⾯加上⼀个随机数: "fresh=" + Math.random(); 4)在URL后⾯加上时间戳:"nowtime=" + new Date().getTime() 5)在jq ajax下,使⽤ $.ajaxSetup({cache:false}) 这样就不会保存缓存记录6、简述ajax的优缺点 优点: 1)⽆刷新更新数据(在不刷新整个页⾯的情况下维持与服务器通信) 2)异步与服务器通信(使⽤异步的⽅式与服务器通信,不打断⽤户的操作) 3)前端和后端负载均衡(将⼀些后端的⼯作交给前端,减少服务器与宽度的负担) 4)界⾯和应⽤相分离(ajax将界⾯和应⽤分离也就是数据与呈现相分离) 缺点: 1)ajax不⽀持浏览器back按钮 2)安全问题 Aajax暴露了与服务器交互的细节 3)对搜索引擎的⽀持⽐较弱 4)破坏了Back与History后退按钮的正常⾏为等浏览器机制7、阐述⼀下异步加载JS 1)异步加载的⽅案:动态插⼊ script 标签 2)通过 ajax 去获取 js 代码,然后通过 eval 执⾏ 3)script 标签上添加 defer 或者 async 属性 4)创建并插⼊ iframe,让它异步执⾏ js8、json字符串与对象如何相互转换 把JSON格式转成对象:JSON.parse() 把对象转成标准json:JSON.stringify() 使⽤eval能够把字符串尽量转成js运⾏的代码 eval('(' + jsonstr + ')') eval是不安全的(可能会注⼊不必要的东西),通过new Function('','return'+json)();可以解决该问题9、get与post的区别,什么时候使⽤post? get和post在HTTP中都代表着请求数据,其中get请求相对来说更简单、快速,效率⾼些 get相对post安全性低 get有缓存,post没有 get体积⼩,post可以⽆限⼤ get的url参数可见,post不可见 get只接受ASCII字符的参数数据类型,post没有限制 get请求参数会保留历史记录,post中参数不会保留 get会被浏览器主动catch,post不会,需要⼿动设置 get在浏览器回退时⽆害,post会再次提交请求 post⼀般⽤于修改服务器上的资源,对所发送的信息没有限制。
Ajax相关面试知识点整理

Ajax相关面试知识点整理–Web应用开发人员面试必备问题:Ajax相关面试知识点整理Web应用开发人员面试必备回答:ajax原理,优劣点Ajax 是Asynchronous JavaScript and XML(以及DHTML 等)的缩写Ajax 尝试建立桌面应用程序的功能和交互性,与不断更新的Web 应用程序之间的桥梁。
不需要刷新页面就可以将请求提交到后台,用户根本感觉不到页面在发送请求或是交换数据.Ajax 如何将笨拙的Web 界面转化成能迅速响应的Ajax 应用程序。
下面是Ajax 应用程序所用到的基本技术:HTML 用于建立Web 表单并确定应用程序其他部分使用的字段。
JavaScript 代码是运行Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信。
DHTML 或Dynamic HTML,用于动态更新表单。
我们将使用div、span和其他动态HTML 元素来标记HTML。
文档对象模型DOM 用于(通过JavaScript 代码)处理HTML 结构和(某些情况下)服务器返回的XMLXMLHttpRequest 对象XMLajax乱码问题javascript是使用UTF-8国际编码,即每个汉字用4个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码。
Ajax乱码产生主要有2个原因1. xmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码2. post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码推荐方法,前台后台都用utf-8编码客户端、服务器端全部采用Utf-8编码,且url发送中文字采用escape编码,unescape解码。
而且效率高,而且符合目前的形式,utf-8编码本身就是一种比较优秀的编码。
解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱搞了。
ajax面试题

Ajax面试资料整理1、ajax过程(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.(3)设置响应HTTP请求状态变化的函数.(4)发送HTTP请求.(5)获取异步调用返回的数据.(6)使用JavaScript和DOM实现局部刷新.2、异步加载和延迟加载1.异步加载的方案:动态插入script标签2.通过ajax去获取js代码,然后通过eval执行3.script标签上添加defer或者async属性4.创建并插入iframe,让它异步执行js5.延迟加载:有些 js 代码并不是页面初始化的时候就立刻需要的,而稍后的某些情况才需要的。
3、请解释一下 JavaScript 的同源策略。
概念:同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准。
它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。
这里的同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议。
指一段脚本只能读取来自同一来源的窗口和文档的属性。
为什么要有同源限制?我们举例说明:比如一个黑客程序,他利用Iframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。
4、GET和POST的区别,何时使用POST?GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。
Ajax框架概述

Ajax框架概述在编写Ajax页面时,有时会出现一些重复性代码。
这时可以把这些重复性的代码,即多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XM LHttpRequest对象的代码。
这样能够达到代码重复重用的目的,能够很好的维护程序和调试程序。
重复性代码被封装成独立文件,其文件扩展名为.js。
利用封装Java Script文件可以形成自己的代码库,进而形成属于自己的框架。
创建属于自己的Ajax代码库(框架),会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。
对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。
从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了Aj ax程序员大量的时间和精力。
Ajax框架很多,主要可以分为两种类型,基于客户端和基于服务器端。
其中,大部分都开源,但也有少数专用。
本节中不可能每个框架都进行介绍,只对现在比较流行的框架进行介绍,并且对框架也不去进行深入的介绍。
Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。
基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。
第一种形式是通过服务器端生成HTML和JS代码在传递给浏览器端进行直接运行。
第二种形式是利用JavaScript调用服务器端函数(例如调用.NET函数)并返回给JavaScript 的回调句柄,或者请求服务器数据信息,例如Session信息,数据库查询等。
常用的Ajax框架,有Dojo、prototype、DWR、Buffalo、openrico、qooxdoo、YUL、、和Atlas等。
如下是对一些框架的简单描述:(1)Dojo是一个各个方面相当完善的JS库,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛应用在很多项目中,他的UI组件的特点是通过给HTML标记增加tag的方式进行扩展,而不是通过写J S来生成,Dojo的API模仿Java类库的组织方式。
第24章 常见的Ajax框架介绍

24.2.1 "Prototype"框架简介
Prototype是目前应用最为广泛的Ajax开发框架,其的特点是功能实用而 且尺寸较小,非常适合在中小型的Web应用中使用.开发Ajax应用需要编 写大量的客户端JavaScript脚本,而Prototype框架pe具备兼容各个浏览 器的优秀特性,使用该框架可以不必考虑浏览器兼容性的问题. Prototype对JavaScript的内置对象(如"String"对象,"Array"对象 等)进行了很多有用的扩展,同时该框架中也新增了不少自定义的对象, 包括对Ajax开发的支持等都是在自定义对象中实现的.Prototype可以帮 助开发人员实现以下的目标: (1)对字符串进行各种处理 (2)使用枚举的方式访问集合对象 (3)以更简单的方式进行常见的DOM操作 (4)使用CSS选择符定位页面元素 (5)发起Ajax方式的HTTP请求并对响应进行处理 (6)监听DOM事件并对事件进行处理
24.1 什么是框架
程序设计中的"框架"("FrameWork")概念不 同于HTML中的"框架"("Frame"与 "Iframe").前者是一种应用程序的半成品, 提供了可在不同应用程序之间共享的,可供重复 使用的公共结构.程序开发者以框架作为程序设 计的基础与起点,对其加以扩展,以满足具体的 程序设计需要.和框架概念类似的是工具包,两 者的不同之处在于,框架提供了一致的结构,而 不仅仅是一组工具类.
24.3 "JQuery"框架
"jQuery"是一款同"Prototype"一样优秀的JavaScript 框架,特别是其对CSS和XPath的支持,使JavaScript的书 写变得更加方便.其宗旨是—写更少的代码,做更多的事情. 其是轻量级的JavaScript框架(压缩后只有21k),这是其 他的JavaScript框架所不及的.该框架兼容"CSS3",还 兼容各种浏览器(IE 6.0+,FF 1.5+,Safari 2.0+, Opera 9.0+). "jQuery"是一个快速的,简洁的JavaScript框架,使用 户能更方便地处理HTML文档,事件,实现动画效果,并且 方便地为网站提供AJAX交互."jQuery"还有一个比较大 的优势是,其的文档说明很全,而且各种应用也说得很详 细,同时还有许多成熟的插件可供选择."jQuery"能够 使用户的HTML页保持代码和内容的分离,也就是说,不用 再在HTML里面插入一堆JavaScript来调用命令了,只需定 义其ID属性即可.