Ajax 知识点总结
[TOC]
XMLHttpRequest 只用指南 浏览器同源政策及其规避方法 跨域资源共享 CORS 详解
1、什么是 AJAX?
AJAX 是“Asynchronous JavaScript and XML”的缩写。是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
Ajax 包含下列技术:
基于 web 标准(standards-basedpresentation)XHTML+CSS 的表示;
使用 DOM(Document ObjectModel)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。
2、为什么要用 ajax:
Ajax 应用程序的优势在于:
- 通过异步模式,提升了用户体验
- 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
- Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
3、AJAX 最大的特点是什么。
Ajax 可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得 Web 应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
4、AJAX 都有哪些优点和缺点?
1、最大的一点是页面无刷新,用户的体验非常好。
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax 的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax 的缺点
1、ajax 不支持浏览器 back 按钮。
2、安全问题 AJAX 暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试。
5、请介绍一下 XMLHttpRequest 对象。
Ajax 的核心是 JavaScript 对象 XmlHttpRequest。该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest 使您可以使用 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。通过 XMLHttpRequest 对象,Web 开发人员可以在页面加载以后进行页面的局部更新。
6、介绍一下 XMLHttpRequest 对象的常用方法和属性。
open(“method”,”URL”) 建立对服务器的调用,
第一个参数是 HTTP 请求方式一般为 GET,POST
第二个参数是请求页面的 URL。
第三个参数是一个布尔值,默认 true 表示异步,false 表示同步
send()方法,发送具体请求
abort()方法,停止当前请求
readyState 的五种状态:
0 (未初始化)还没有调用 open()方法
1 (载入) 已调用 send()方法,正在发送请求
2 (载入完成)send()方法完成,已收到全部响应内容
3 (解析) 正在解析响应内容
4 (完成) 响应内容解析完成,可以在客户端调用了
- responseText 属性 服务器的响应,表示为一个串
- reponseXML 属性 服务器的响应,表示为 XML
- status 服务器的 HTTP 状态码,200 对应 ok 400 对应 not found
7、Ajax 主要包含了哪些技术?
Ajax(Asynchronous JavaScript + XML)的定义
基于 web 标准(standards-based presentation)XHTML+CSS 的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLhttpRequest 进行异步数据查询、检索;
8、AJAX 应用和传统 Web 应用有什么不同。
在传统的 Javascript 编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个 HTML form 然后 GET 或者 POST 数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。
因为服务器每次都会返回一个新的页面, 所以传统的 web 应用有可能很慢而且用户交互不友好。
使用 AJAX 技术, 就可以使 Javascript 通过 XMLHttpRequest 对象直接与服务器进行交互。
通过 HTTP Request, 一个 web 页面可以发送一个请求到 web 服务器并且接受 web 服务器返回的信息(不用重新加载页面) ,展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到 Javascript 后台进行的发送请求和接受响应。
9、AJAX 请求总共有多少种回调函数。
Ajax 请求总共有八种 Callback
- onSuccess
- onFailure
- onUninitialized
- onLoading
- onLoaded
- onInteractive
- onComplete
- onException
10.Ajax 和 javascript 的区别。
javascript 是一种在浏览器端执行的脚本语言,Ajax 是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括 javascript。
在一般的 web 开发中,javascript 是在浏览器端执行的,我们可以用 javascript 控制浏览器的行为和内容。
在 Ajax 应用中信息是如何在浏览器和服务器之间传递的
通过 XML 数据或者字符串
11、在浏览器端如何得到服务器端响应的 XML 数据。
XMLHttpRequest 对象的 responseXMl 属性
12、 XMLHttpRequest 对象在 IE 和 Firefox 中创建方式有没有不同。
有,IE 中通过 new ActiveXObject()得到,Firefox 中通过 newXMLHttpRequest()得到
13、什么是 XML
XML 是扩展标记语言,能够用一系列简单的标记描述数据
14、XML 的解析方式
常用的用 dom 解析和 sax 解析。dom 解析是一次性读取 xml 文件并将其构造为 DOM 对象供程序使用,优点是操作方便,但是比较耗内存。Sax 是按事件驱动的方式解析的,占用内存少,但是编程复杂