一. XMLHttpRequest介绍

Ajax技术核心是XMLHttpRequest对象(简称XHR),这是由微软首先引入的一个特性,其他浏览器提供商后来都提供了相同的实现。

在XHR出现之前,Ajax式的通信必须借助一些hack手段来实现,大多数是使用隐藏的框架或内嵌框架。

XHR的出现,提供了向服务器发送请求和解析服务器响应提供了流畅的接口。

能够以异步方式从服务器获取更多的信息,这就意味着,用户只要触发某一事件,在不刷新网页的情况下,更新服务器最新的数据。

虽然Ajax中的x代表的是XML,但Ajax通信和数据格式无关,也就是说这种技术不一定使用XML。

IE7+、Firefox、Opera、Chrome和Safari都支持原生的XHR对象,在这些浏览器中创建XHR对象可以直接实例化XMLHttpRequest即可。


二. Ajax工作原理


三. XMLHttprequest发展历程

XMLHttpRequest一开始只是微软浏览器提供的一个接口,后来各大浏览器纷纷效仿也提供了这个接口,再后来W3C对它进行了标准化,提出了XMLHttpRequest标准。

XMLHttpRequest标准又分为Level 1和Level 2。

  • XMLHttpRequest Level 1主要存在以下缺点:

    受同源策略的限制,不能发送跨域请求;

    不能发送二进制文件(如图片、视频、音频等),只能发送纯文本数据;

    在发送和获取数据的过程中,无法实时获取进度信息,只能判断是否完成;

  • 那么Level 2对Level 1 进行了改进,XMLHttpRequest Level 2中新增了以下功能:

    可以发送跨域请求,在服务端允许的情况下;

    支持发送和接收二进制数据;

    新增formData对象,支持发送表单数据;

    发送和获取数据时,可以获取进度信息;

    可以设置请求的超时时间;

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-10-18 03:20:27

results matching ""

    No results matching ""