什么是Ajax(Ajax的来历、运行原理、优缺点及其它)

这里是修真院web小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析web知识/技能,本篇分享的是:

【什么是Ajax(Ajax的来历、运行原理、优缺点及其它)】

大家好,我是IT修真院深圳分院第3期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网前端工程师深度思考中的知识点——什么是Ajax

 


一.背景介绍

 

Ajax的来历

套用一句不恰当的话,Ajax就是中间商(并不赚取差价),换一个专业点的说话,现在它就是脚本发起HTTP通信的代名词

具体什么是Ajax呢?我们在说这个问题之前,需要思考一个问题:当我们上网的时候,我们到底在上什么?

大部分人都是在上浏览器。

当我们在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容的时候,我们就开始与浏览器进行交互。而浏览器在这个时候,开始与服务器进行交互。

传统的Web应用交互由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTML页到客户端。

每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据

都要返回一个完整的HTML页,而客户端每次都要浪费时间和带宽去重新读取整个页面。

1999年,微软公司发布IE浏览器5.0版,第一次引入新功能:允许JavaScript脚本向服务器发起HTTP请求。这个功能当时并没有引起注意,为什么?

实际上,人们一直在寻求改善传统的web应用交互方式。1999年以前,JS可以通过Java applet或Flash电影等中间层向服务器发送请求。

在Ajax被提出之前,这种技术就已经存在很长时间了,那时候人们通常将这种技术叫做远程脚本(remote scripting)

Ajax技术的核心是XMLHttpRequest(简称XHR),这是由微软首先引入的一个特性,最早应用在它的IE5浏览器上。

在IE5中,XHR对象是通过MSXML库中的一个ActiveX对象实现的,而IE7+及其他标准浏览器都支持原生的XHR对象

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

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

随着XHR、JS等各项技术应用得越来越广泛,2005年,依赖XHR的Ajax技术被提出

 

 

浏览器与服务器交互图例

 

 


二.知识剖析

1、运行机制

2、代码示例

3、优缺点

1、运行机制

先看一下Ajax的英文翻译

AJAX stands for Asynchronous JavaScript and XML.

AJAX is a new technique for creating better, faster, and more interactive web applications with the help of XML, HTML, CSS, and Java Script.

AJAX is based on the following open standards:

Browser-based presentation using HTML and Cascading Style Sheets (CSS).

Data is stored in XML format and fetched from the server.

Behind-the-scenes data fetches using XMLHttpRequest objects in the browser.

JavaScript to make everything happen.

从上可以看出Ajax依赖CSS/HTML/Javascript,而其中最核心的依赖是浏览器提供的XMLHttpRequest简称(XHR)对象,是这个对象使得浏览器可以发出HTTP请求与接收HTTP

响应。

W3C形象的称XHR对象是开发者的梦想

Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。

并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

Ajax就这样集齐CSS、JavaScript、XMLHTTPRequest、DOM对象四神兽,通过XmlHttpRequest

对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM、改变CSS,更新页面。

Ajax重要影响是使WEB中的界面与应用分离&#

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值