XHR和AJAX终于搞懂了!!

XMLHttpRequest分析

参考资料: XMLHttpRequest Level 2 使用指南—阮一峰

之前分析面试常被问的跨域问题,另一个面试难题就是ajax原理相关的问题了,今天我们就来solve它。

开篇先来介绍一个之前看过的一篇文章,讲的是如何回答面试中的原理题,我们也可以把以下的这种方法运用到学习前端知识上面。

回答原理题流程:

  1. 如果是英文词汇就先翻译成中文
  2. 一句话描述该技术的用途
  3. 描述该技术的核心概念或运作流程
  4. 口述该技术的代码书写思路
  5. 该技术的优点
  6. 该技术的缺点
  7. 如何弥补缺点

现在我们正式开始了解XMLHTTPRequest对象,顾名思义:是基于XML的HTTP请求。XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信。自从浏览器提供有了XMLHTTPRequest这个接口之后,ajax操作就此诞生。

我们再来说说什么是AJAX,AJAX = Asynchronous JavaScript and XML,翻译为:异步的 JavaScript 和 XML。ajax就是基于浏览器提供的XMLHttpRequest对象来实现的。这下明白他们的关系了吧。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。自从有了ajax之后,我们就可以实现异步的加载网页。

什么叫异步?

异步,异嘛,不同的意思,这里也就是指不跟浏览器加载执行网页代码的步伐一致,也就是说在一个网页中需要用户操作来触发执行代码,而不是整个网页代码一次性执行完毕。(这里的用户操作是指在同一个网页下面请求代码执行渲染,而不是让浏览器直接跳转渲染另一个页面)

AJAX 工作原理:

这里面都提到了一个概念XML,那什么是XML呢?

XML 指可扩展标记语言(eXtensible Markup Language)。

我们在浏览器中使用XMLHTTPRequest对象在服务器之间通信,传输的数据是使用XML的方式,但最终还是会被转换成json数据格式来被我们使用。

我们再来看看XHR的使用流程:

  • 首先我们需要新建一个XMLHttpRequest实例

var xhr = new XMLHttpRequest();

<< · Back Index ·>>

发表回复

相关推荐

小米路由器3:千兆路由器的精品

隨著用戶需求的不斷增大,傢用無線路由器也是在不斷的升級迭代,從早期的150M後來逐漸升級到300M,再從450M升級到1200M(1167...

· 38秒前

車間管理(Workshop management)一些好的方法、思路!

企管知識-開始閱讀車間管理(Workshop management)是指對車間所從事的各項生產經營活動進行計劃、組織、指揮、協調和控制的...

· 45秒前

东北八大奇葩美食,本地人怎么吃也不够,外地人给钱都下不去嘴

东北,是我国辽阔大地上一片饱含历史厚重与繁荣文明的瑰宝之地。东北的人文荟萃,构成了多元的文化面貌,而其丰盛饮食则成为 ...

· 52秒前

完结浅评《人渣的本愿》:青春和瞎子一起变成了哑巴

一、导言 动画《人渣的本愿》(クズの本懐)改编自日本女性漫画家横枪メンゴ创作的同名漫画,作品全8卷共47话。漫画、动画、 ...

· 2分钟前

中藥材價格暴漲背後的原因,你知道嗎?

近期,有媒體曝光瞭這樣一則視頻:河南某衛生院院長在開會時發言,要求醫生給所有的病人都開中藥,並聲稱中藥是當前醫院的增...

· 2分钟前