:路网页编程必会的Ajax——Ajax概述
🎉个人主页:这个昵称我想了20分钟
✨往期专栏: 【速成之路】jQuery
【速成之路】SQLserver
🔓本期专栏:【速成之路】Ajax
什么是Ajax
Ajax( Asynchronous JavaScriptAndXML ,异步 JavaScript 和XML)指使用 JavaScript 语言与服务器进行异步交互,传输的数据为XML数据格式。
Ajax的最大特点是当服务器响应时,不用刷新整个浏览器页面,而仅是刷新局部页面,这一特点使用户在无感的情况下完成向服务器请求和响应的过程。
Ajax这个术语源自描述从基于Web的应用到基于数据的应用。Ajax不是一种新的编程语言,而是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。
Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可以使网页向服务器请求少量的信息,而不是整个页面。Ajax可以使因特网应用程序更小、更快、更友好。
例如在百度搜索栏中输入关键字时,下方弹出的提示信息就是Ajax应用的体现。在这个过程中页面没有刷新,只是刷新页面中的局部位置信息而已,当请求发出后,浏览器还可以进行其他操作,无须等待服务器的响应。
Ajax是一种独立于Web服务器软件的浏览器技术,是基于 JavaScript 、XML、HTML与CSS的标准。在Ajax中使用的Web标准已被良好定义,并被所有的主流浏览器支持。Ajax应用程序独立于浏览器和平台。
Ajax与传统的web应用比较
传统的Web应用交互由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTML页面到客户端,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互,例如只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页面,用户每次都要浪费时间和带宽去重新读取整个页面。这种做法浪费了许多带宽,由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间,这导致了用户界面的响应比本地应用慢得多。
与此不同,Ajax应用仅向服务器发送并取回必需的数据,其使用SOAP(用于访问网络服务的协议)或其他一些基于XML的Web Service接口,并在客户端采用 JavaScript 处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,所以能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
Ajax的优点
Ajax的优点如下:
(1)无刷新更新数据。Ajax的最大优点就是能在不刷新整个页面的前提下与服务器通信来维护数据。这使得Web应用程序更为迅捷地响应用户交互,并避免了在网络上发送那些没有改变的信息,减少用户等待时间,带来非常好的用户体验。
(2)异步与服务器通信。Ajax使用异步方式与服务器通信,不需要中断用户的操作,具有更加迅速的响应能力,优化了浏览器和服务器之间的沟通,减少了不必要的数据传输、时间,降低了网络上的数据流量。
(3)前端和后端负载平衡。Ajax可以把以前一些服务器负担的工作转移到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。Ajax的原则是“按需取数据”,可以最大程度地减少冗余请求和响应对服务器造成的负担,提升站点性能。
(4)基于标准被广泛支持。Ajax基于标准化的并被广泛支持的技术,不需要下载浏览器插件或者小程序,但需要客户允许 JavaScript 在浏览器上执行。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持 JavaScript 的用户提供替代功能。
(5)界面与应用分离。Ajax使Web中的界面与应用分离(也可以说是数据与呈现分离),有利于分工合作,减少非技术人员对页面的修改造成的Web应用程序错误并提高效率。
Ajax的缺点
Ajax的缺点如下:
(1)Ajax对浏览器机制有一些破坏。在动态更新页面的情况下,用户无法回退到前一个页面状态,因为浏览器仅能记忆历史记录中的静态页面,用户通常会希望单击后退按钮能够取消前一次操作,但是在Ajax应用程序中将无法实现。
(2)Ajax的安全问题。Ajax技术给用户带来很好的用户体验的同时,也对IT企业带来了新的安全威胁。Ajax技术就如同对企业数据建立了一个直接通道,使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。
(3)对搜索引擎的支持较弱。如果使用不当,Ajax会增大网络数据的流量,从而降低整个系统的性能。
(4)违背URL和资源定位的初衷。如果采用了Ajax技术,也许在URL地址下面看到的和在这个URL地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。
(5)肥客户端。客户端代码的编写复杂,容易出错,冗余代码比较多,破坏了Web的原有标准。
需要特别说明的是,在进行Ajax开发时,需要考虑网络延迟。不给予用户明确的回应,没有恰当的预读数据,或者对 XMLHttpRequest 的不恰当处理,都会使用户感到延迟,这是用户不希望看到的,也是用户无法理解的。通常的解决方案是,使用一个可视化的组件来告诉用户,系统正在进行后台操作并且正在读取数据和内容。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgaeche
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13