今天是大年初一,恭祝各位朋友猴年快乐,多赚钱,少生气~

过年的我懒惰极了,心中有个小人儿总在说,过年要不就休息吧,另外一个小人儿跳起来说,不要只写了两个月就开始阳痿哦。

曾经说过要至少坚持写一年的我,还是要为吹过的牛逼负一点点责任,自己选择的路,跪着也要走下去,说完了感觉好悲壮,哈哈。(刚吃完饺子,我开始认真的写了)

在我们再熟悉不过的搜索引擎的搜索框中,你输入一个关键词,会有很多联想词出现,有很大的命中概率,好像我们并没有再发起一次网络请求,网页也没有重新刷新,这些词是如何从后台返回到当前网页,并且再显示到输入框下面的呢?

技术职称_技术学校有哪些专业适合男孩子_ajax技术

当你在地图类应用中随意的放大缩小,整个网页也没有重新刷新,这个时候新出来的许多街道细节,是怎么从后台传回来的呢?

技术职称_ajax技术_技术学校有哪些专业适合男孩子

说明下,“网页没有重新刷新”的意思是没有像你打开百度之后,一个空网页渲染到屏幕上,点了网页中的一个链接,这个链接又打开了一个新的网页。有没有整个网页重新刷新对用户来说有着截然不同,各位客官请脑补下,上面两种情况如果刷新会是什么2B样子,我刚输入“除”字,网页重新刷新了一遍,输入“夕”字之后,又白了一下然后整个页面显示,对于“挑剔的你,应该是不可接受的吧。

注意两个前提,第一个是网页没有刷新,第二个是本地网页从后台获取了新数据(假设亲没有认为所有的数据都是写死在本地的哦)。

BB了半天,这种技术叫做Ajax(汉语翻译为“阿贾克斯”或“额寨克思”,注意哦,前者不是荷兰的那只足球队),是 And XML的首字母缩写,翻译过来为“异步JS和XML”,本来和XML都是成熟的语言和技术标准,已经存在了很多年,直到谷歌在 map项目上应用,才展示了这项技术组合新的威力,看看上一段那两个条件,这项技术主要解决的就是不用刷新网页,来和后台交互获取数据,并应用于当前网页。

我们来看看网络抓包的结果,在搜索框中输入了“除夕”两个字之后,在一次网络请求中返回了这个结果,这个结果就对应于下拉列表中的联想词(该字符串经过了在线转成可视化JSON的处理,否则截图太小不好展示)。

ajax技术_技术学校有哪些专业适合男孩子_技术职称

Ajax具备的这两项能力怎么实现的呢?

1. 发起网络请求,这个发起网络请求的能力由浏览器的内置能力提供,所有的浏览器都提供了这个对象,这个对象可以由网页调用,用来连接一个特定的地址。

2. 不用刷新,动态操作网页,介绍一个你在这行永远绕不过去的一个词叫DOM( Model),中文翻译叫做“文档对象模型”,也是相当不好理解,这时候需要你有一些拟人化的思维了哦,亲,我们把一个网页想象成一个人,一个人由骨骼和肌肉组成,骨骼相当于这个叫DOM的东西,定义了一个网页大概的结构,下图对应了一个最简单的网页的骨骼和框架。

ajax技术_技术职称_技术学校有哪些专业适合男孩子

在这个图中,有html、body、h1、p等标签构成了这个网页的DOM模型,而天生为了网页而生,就是为了操作DOM而存在的,简单的理解,也就是可以动态的操作整个网页。

有了这些基础知识,我们来导演下整个“百度联想词”的整个过程,输入“除夕”,这个时候利用了对象发起了到百度后台的一次请求,随后这次网络请求返回了若干个联想词的json串,这个时候百度网页中的程序开始进行处理,进行json串的解析,并将这些解析后的字符串插入到网页的DOM结构当中,页面经过重新渲染,在当前页面上展示了一个下拉列表框ajax技术,并填入了刚才从后台得到的联想词。

读了这么长的文章,还是应该有点收获的:

1. ajax是一项用于异步拉取数据并展示在当前页面的技术ajax技术,这对于需要延迟加载数据还有触发式加载数据好处大大的,当前的绝大多数网页为了速度快,都会用到这项技术,比如一个内容型网页,你访问的时候,这个网站的后台会把这个页面的基本框架吐回给浏览器,也就是一个网页的基本样子已经有了,比如一个视频网站所有的电影名字,演员都有了,但是那张电影的海报是框架完成之后,再发起ajax请求去拉取的,这样能最大的缓解用户的焦虑感。

2. DOM的概念和理解对于一个从业者至关重要,建议你自学写一两个网页,就能理解它的意思了。


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注