热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

聊一聊Ajax的优缺点

和大家一起聊一聊Ajax的优缺点,Ajax是一个动态的WEB应用的开发技术,它的出现丰富了用户的体验,今天就和大家进一步的了解Ajax,感兴趣的小伙伴们可以参考一下

Ajax,全称 Asynchronous Javascript and XML,是一个动态的WEB应用的开发技术,它的出现丰富了用户的体验。甚至用Ajax开发的WEB应用可以达到桌面应用程序的体验。当然,和其他技术一样Ajax同样也有其自身的优点和缺点。

使用Ajax的优点

1. 提升用户体验

提升用户体验这是使用Ajax最重要的原因之一。Ajax允许Web页面向服务端请求少量的数据来达到连续不断更新,使用这种方法就可以只刷新部分页面而不用重新加载整个页面。传统的WEB页面是通过重新加载整个页面来达到更新页面数据的效果的,即使需要更新的数据很少。所以说Ajax的使用提升了浏览器的性能并且通过这种响应式的用户体验大大提升了浏览的速度。

2. 提高工作效率

Ajax类库提供了很多的面向对象模式的辅助函数,这些类库大大提高了开发速度减少在开发过程中碰到的障碍。此外在很多成熟的框架中都有自己的数据层、业务层还有视图层,所以Ajax只需要一个特定的Ajax服务和在客户端的一些改进就可以实现想要的功能。这种方式的架构减少了在程序部署上话费的时间,并且提高了开发人员的工作效率。

3. 减少带宽的使用并且提升了访问速度

Ajax是使用客户端脚本和Web服务端进行交互,使用Javascript来交换数据。使用Ajax可以减轻网络负载、减少带宽的使用并且只请求需要的数据,这些方面都是加快响应时间必要的因素。响应时间缩短了,性能和速度自然也就有很大的提高了。

4. 很好的兼容性

由于Ajax是客户端技术,所以对于常用的服务端编程语言来说,都可以实现Ajax服务端,比如:PHP、Java、ASP.NET、node.js等等。并且几乎所有的浏览器都支持Ajax。

5. 支持异步处理

通过使用XmlHttpRequest异步获取数据是Ajax的主要特点。在请求未被执行完之前,程序是可以继续向下执行的,在请求返回之后再去执行相应的操作。这样的机制正是提升Web性能的最主要的原因。

6. 使页面内容切换更简单

Ajax使得不同内容切换变得更加简单直观,用户不需要再使用浏览器上传统形式的回退和前进按钮来实现页面的前进和后退功能了。

使用Ajax的缺点

1. 浏览器之间的不兼容性

Ajax对于Javascript有很大的依赖性,因此在不同的浏览器上面的实现方式也是有所不同的。这就表明如果想跨浏览器实现Ajax那就必须对其进行相应的处理。如果有的浏览器不支持Javascript抑或是禁止了Javascript的此选项,那此浏览器就不支持Ajax,因此先前写的Ajax的功能在这类浏览器上就没有办法实现。正是由于Ajax依赖于Javascript的这一特性,所以Ajax不适合应用于手机端的应用。

2. 不安全

由于网页是很难调试的,因此随着你的代码量的增加,你的网页面临着越来越严重的威胁。

3. 增加了Web服务器的负载量

如果你在网页中增加了每隔几秒就自动向服务器请求更新数据的功能,那你的服务器的负载就会越来越大,严重的可能还会使服务器崩溃。

没错每一门技术既然有其优于其他同类技术的优点,那肯定也会存在相应的缺点,至于使用与否那取决于我们实际的项目需要,在实际工作中去衡量。


推荐阅读
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • asp.net(vb脚本)如何获取xml的节点值?xmlversion1.0encodingutf-8?rootimageimagemenusmenuurl#frame_paren ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • XMLhttpREquest_Ajax技术总结之XmlHttpRequest
    Ajax1、 什么是ajax   ... [详细]
author-avatar
尹子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有