Skip to content

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 应用程序的优势在于:

  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. 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 是按事件驱动的方式解析的,占用内存少,但是编程复杂

Released under the MIT License.