“不再学AJAX了”是一个与AJAX主题相关的文章系列,包含如下三个部分的内容:html
但愿经过阅读该系列三个部分的内容,你可以完全理解并掌握AJAX技术,今后不再用专门学习AJAX。程序员
让咱们开始吧 ?。web
AJAX是“Asynchronous JavaScript And XML”的缩写(即:异步的JavaScript和XML),是一种实现无页面刷新获取服务器数据的混合技术。json
让咱们停下来好好思考一下这个定义,注意那些醒目的蓝色文字,它们出如今那里不是没有理由的。跨域
好的,相信你已经对这个定义有些印象,如今让我对那些蓝色的文字作些说明:浏览器
XML是“Extensible Markup Language”的缩写(即:可拓展标记语言),是一种特征相似HTML,用来描述数据是什么,并承载数据的标记语言,你能够在中文的维基百科中看到更完整的解释,但咱们如今只要知道它是一种用来承载数据的语言就足够了。服务器
而JSON仅仅是一种数据格式,在JSON发明以前,人们大量使用XML做为数据传输的载体,也正因如此,AJAX技术的最后一个字母为“X”。而现在状况则发生了些变化,JSON这种相似于字符串对象的轻量级的数据格式愈来愈受到开发者青睐,几乎变成了AJAX技术的标准数据格式,所以好像AJAX技术现在应该换个名字,叫作“AJAJ”,呃,仍是算了吧。网络
须要注意的是,JSON并非XML的替代品,二者各自有其适应的场景。若是你对这两种数据格式的差别感兴趣,能够查看如下连接:数据结构
咱们知道,互联网最主要的功能在于“资源交换”,当初发明互联网的科学家们也是基于这个动机。虽然在互联网中“资源交换”的主体都是计算机。但为了方便交流,咱们一般将获取资源的一方称为客户端(主要的工具是浏览器),而将派发资源的一方称为服务端(又称为“服务器”)。异步
在AJAX技术出现以前,若是浏览器须要从服务器请求资源,其交互模式为“客户端发出请求 -> 服务端接收请求并返回相应HTML文档 -> 页面刷新,客户端加载新的HTML文档”。确实,这种交互模式十分简洁明了,并且很是符合人的直觉,对于那时游走于互联网中的极客而言,也确实够用了。可是随着时代的进步,互联网渐渐不仅是极客们的娱乐场,愈来愈多商业化网站的出现,使互联网再也不局限于知足人们“资源交换”的需求,人们开始期待可以在互联网中得到更好的“使用体验”,而随着用户点击不断刷新页面的交互方式显然很难讨人喜欢。
再试想这样一种情景,当用户点击页面中的某个按钮向服务器发送请求时,页面本质上只是一些数据发生了变化,而此时服务器却要将重绘的整个页面再返回给浏览器加载,这显然有悖于程序员的“DRY”原则,并且明明只是一些数据的变化却迫使服务器要返回整个HTML文档,这自己也会给网络带宽带来没必要要的开销。
有没有办法在页面数据变更时,只向服务器请求新的数据,而且在阻止页面刷新的状况下,动态的替换页面中展现的数据呢? -- 答案正是“AJAX”。
AJAX技术的问世,不只经过阻止浏览器接受响应时刷新页面提高了互联网用户的使用体验,还使开发者可以以更加微观的视角从新思考互联网应用的构建,今后,开发者将在“数据”层面而不是“资源”层面以更高的自由度构建网站和Web应用。
是的,AJAX技术并不仅是操做XMLHttpRequest
对象发起异步请求,而是为了实现“无页面刷新的资源获取”的一些列技术的统称,这些技术包括了:
XMLHttpRequest
对象;明白AJAX并不仅是操做XMLHttpRequest
对象,对于初学者而言是十分必要的。
相信你已经明白了,AJAX技术的意义在于:它可以使浏览器在不刷新页面的状况下获取服务器响应,这将大大提高互联网用户的使用体验,同时,因为AJAX请求获取的是数据而不是HTML文档,所以它也节省了网络带宽,让互联网用户的网络冲浪体验变得更加顺畅。
同时,咱们也应该注意到,因为AJAX技术能够令开发者只向服务器获取数据(而不是图片,HTML文档等资源),互联网资源的传输变得史无前例的轻量级和纯粹,这激发了广大开发者的创造力,使各式各样功能强大的网络站点,和互联网应用如雨后春笋通常冒出,不断带给人惊喜。
本文咱们讲解了“什么是AJAX”以及“AJAX的意义”,你可能会以为一篇技术文章没有代码实在很古怪,但我以为在一开始就对某个概念创建起正确的心智模型很重要。它能够帮助咱们为以后概念细节的学习打下良好基础。别着急,在下一篇文章中,咱们会花费大量篇幅去讨论如何使用AJAX技术,但愿你保持耐心,Keep Learning,加油!?
? Hey!喜欢这篇文章吗?别忘了在下方? 点赞让我知道。