1、什么是AJAX,为什么要应用Ajax(请谈一下你对Ajax的意识)
什么是ajax:
AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创立交互式网页利用的网页开发技术。
Ajax蕴含下列技术:
基于web规范(standards-basedpresentation)XHTML+CSS的示意;
应用 DOM(Document ObjectModel)进行动态显示及交互;
应用 XML 和 XSLT 进行数据交换及相干操作;
应用 XMLHttpRequest 进行异步数据查问、检索;
应用 JavaScript 将所有的货色绑定在一起。
为什么要用ajax:
Ajax应用程序的劣势在于:
通过异步模式,晋升了用户体验
优化了浏览器和服务器之间的传输,缩小不必要的数据往返,缩小了带宽占用
Ajax引擎在客户端运行,承当了一部分原本由服务器承当的工作,从而缩小了大用户量下的服务器负载。
2、AJAX最大的特点是什么。
Ajax能够实现动静不刷新(部分刷新)
就是能在不更新整个页面的前提下保护数据。这使得Web应用程序更为迅捷地回应用户动作,并防止了在网络上发送那些没有扭转过的信息。
3、Ajax的实现流程是怎么的?
(1)创立XMLHttpRequest对象,也就是创立一个异步调用对象.
(2)创立一个新的HTTP申请,并指定该HTTP申请的办法、URL及验证信息.
(3)设置响应HTTP申请状态变动的函数.
(4)发送HTTP申请.
(5)获取异步调用返回的数据.
(6)应用JavaScript和DOM实现部分刷新.
4、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、如果是应用jQuery,间接这样就能够了 $.ajaxSetup({cache:false})。这样页面的所有ajax都会执行这条语句就是不须要保留缓存记录。
5、请介绍一下XMLhttprequest对象。
Ajax的外围是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种反对异步申请的技术。简而言之,XmlHttpRequest使您能够应用JavaScript向服务器提出申请并解决响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员能够在页面加载当前进行页面的部分更新。
6、AJAX技术体系的组成部分有哪些。
HTML,css,dom,xml,xmlHttpRequest,javascript
7、AJAX利用和传统Web利用有什么不同。
在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,须要建设一个HTML form而后GET或者POST数据到服务器端。用户须要点击”Submit”按钮来发送或者承受数据信息,而后期待服务器响应申请,页面从新加载。
因为服务器每次都会返回一个新的页面, 所以传统的web利用有可能很慢而且用户交互不敌对。
应用AJAX技术, 就能够使Javascript通过XMLHttpRequest对象间接与服务器进行交互。
通过HTTP Request, 一个web页面能够发送一个申请到web服务器并且承受web服务器返回的信息(不必从新加载页面),展现给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后盾进行的发送申请和承受响应。
8、AJAX申请总共有多少种CALLBACK。
Ajax申请总共有八种Callback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException
9.Ajax和javascript的区别。
javascript是一种在浏览器端执行的脚本语言,Ajax是一种创立交互式网页利用的开发技术 ,它是利用了一系列相干的技术其中就包含javascript。
Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们类似的名称只是一种行销策略。
在个别的web开发中,javascript是在浏览器端执行的,咱们能够用javascript管制浏览器的行为和内容。
在 Ajax利用中信息是如何在浏览器和服务器之间传递的
通过XML数据或者字符串
10、在浏览器端如何失去服务器端响应的XML数据。
XMLHttpRequest对象的responseXMl属性
11、 XMLHttpRequest对象在IE和Firefox中创立形式有没有不同。
有,IE中通过new ActiveXObject()失去,Firefox中通过newXMLHttpRequest()失去
12、介绍一下XMLHttpRequest对象的罕用办法和属性。
open(“method”,”URL”) 建设对服务器的调用,第一个参数是HTTP申请 形式能够为GET,POST或任何服务器所反对的您想调用的形式。
第二个参数是申请页面的URL。
send()办法,发送具体申请
abort()办法,进行以后申请
readyState属性 申请的状态 有5个可取值0=未初始化 ,1=正在加载
2=以加载,3=交互中,4=实现
responseText 属性 服务器的响应,示意为一个串
reponseXML 属性 服务器的响应,示意为XML
status 服务器的HTTP状态码,200对应ok 400对应not found
13、什么是XML
XML是扩大标记语言,可能用一系列简略的标记形容数据
14、XML的解析形式
罕用的用dom解析和sax解析。dom解析是一次性读取xml文件并将其结构为DOM对象供程序应用,长处是操作不便,然而比拟耗内存。Sax是按事件驱动的形式解析的,占用内存少,然而编程简单
15、你采纳的是什么框架(架包)
这题是必问的,个别也是最开始就会问到。
在java中比拟风行的有 dojo, Prototype , JQuery, Dwr, extjs 等等
16、如果相熟某种ajax框架,他可能会问到怎么在程序中应用这种框架
DWR框架介绍
DWR(DirectWeb Remoting)是一个WEB近程调用框架.利用这个框架能够让AJAX开发变得很简略.利用DWR能够在客户端利用JavaScript间接调用服务端的Java办法并返回值给JavaScript就如同间接本地客户端调用一样(DWR依据Java类来动静生成JavaScrip代码).
DWR的实现原理是通过反射,将java翻译成javascript,而后利用回调机制,从而实现了javascript调用Java代码
17、介绍一下Prototype的()函数,()函数,()函数,F()函数,$A()函数都是什么作用
$() 办法是在DOM中应用过于频繁的document.getElementById() 办法的一个便当的简写,就像这个DOM办法一样,这个办法返回参数传入的id的那个元素。
$F()函数是另一个大收欢送的“快捷键”,它能用于返回任何表单输出控件的值,比方textbox,drop-down list。这个办法也能用元素id或元素自身做为参数。
$A()函数能把它接管到的单个的参数转换成一个Array对象。
18、介绍一下XMLHttpRequest对象
通过XMLHttpRequest对象,Web开发人员能够在页面加载当前进行页面的部分更新。
AJAX开始风行始于Google在2005年应用的”Google Suggest”。
“Google Suggest”就是应用XMLHttpRequest对象来创立动静的Web接口:
当用户开始输出google的搜寻框,Javascript发送用户输出的字符到服务器,而后服务器返回一个倡议列表。
XMLHttpRequest对象在IE5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8+ 和NetScapt7 开始被反对。
19、AJAX的全称是什么? 介绍一下AJAX?
AJAX的全称是Asynchronous JavaScript And XML.
AJAX是2005年由Google发动并流行起来的编程办法, AJAX不是一个新的编程语言,然而它是一个应用已有规范的新的编程技术。
应用AJAX能够创立更好,更快,更用户界面敌对的Web利用。
AJAX技术基于Javascript和HTTP Request.
20、Ajax次要蕴含了哪些技术?
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。
21、AJAX都有哪些长处和毛病?
长处:
1、最大的一点是页面无刷新,用户的体验十分好。
2、应用异步形式与服务器通信,具备更加迅速的响应能力。
3、能够把以前一些服务器累赘的工作转嫁到客户端,利用客户端闲置的能力来解决,加重服务器和带宽的累赘,节约空间和宽带租用老本。并且加重服务器的累赘,ajax的准则是“按需取数据”,能够最大水平的缩小冗余申请,和响应对服务器造成的累赘。
4、基于标准化的并被广泛支持的技术,不须要下载插件或者小程序。
毛病:
1、ajax不反对浏览器back按钮。
2、平安问题 AJAX裸露了与服务器交互的细节。
3、对搜索引擎的反对比拟弱。
4、毁坏了程序的异样机制。
5、不容易调试。
22、原生js ajax申请有几个步骤?别离是什么
罕用的post,get,delete。不罕用copy、head、link等等。
代码上的区别
1:get通过url传递参数
2:post设置申请头 规定申请数据类型
应用上的区别
1:post比get平安 (因为post参数在申请体中。get参数在url下面)
2:get传输速度比post快 依据传参决定的。 (post通过申请体传参,后盾通过数据流接管。速度略微慢一些。而get通过url传参能够间接获取)
3:post传输文件大实践没有限度 get传输文件小大略7-8k ie4k左右
4:get获取数据 post上传数据 (上传的数据比拟多 而且上传数据都是重要数据。所以不管在安全性还是数据量级 post是最好的抉择)
23、跨域解决方案有哪些?
(1)jsonp 只能解决get跨域(问的最多)
原理:动态创建一个script标签。利用script标签的src属性不受同源策略限度。因为所有的src属性和href属性都不受同源策略限度。能够申请第三方服务器数据内容。
步骤:
去创立一个script标签
script的src属性设置接口地址
接口参数,必须要带一个自定义函数名 要不然后盾无奈返回数据。
通过定义函数名去接管后盾返回数据
(2)CORS:跨域资源共享
原理:服务器设置Access-Control-Allow-OriginHTTP响应头之后,浏览器将会容许跨域申请
限度:浏览器须要反对HTML5,能够反对POST,PUT等办法兼容ie9以上
(3)设置 document.domain
原理:雷同主域名不同子域名下的页面,能够设置document.domain让它们同域
限度:同域document提供的是页面间的互操作,须要载入iframe页面
(4)用Apache做转发(逆向代理),让跨域变成同域
关键词:前端培训