Ajax 的优势和不足
Ajax 的优势
1. 不需要插件支持
Ajax 不需要任何浏览器插件,就可以被绝大多数主流浏览器所支持,用户只需要允许 JavaScript 在浏览器上执行即可。
2. 优秀的用户体验
这是 Ajax 技术的最大优点,能在不刷新整个页面的前提下更新数据,这使得 Web 应用程序能更为迅速地回应用户的操作。
3. 提高 Web 程序的性能
与传统模式相比, Ajax 模式在性能上的最大区别就在于传输数据的方式,在传统模式中,数据提交是通过表单(Form) 来实现的,而数据获取是靠全页面刷新来重新获取整页的内容。Ajax 模式只是通过 XMLHttpRequest 对象向服务器端提交希望提交的数据,即按需发送。
4. 减轻服务器和带宽的负担
Ajax 的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。它在客户端创建 Ajax 引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和带宽的负担。
Ajax 的不足
1.浏览器对 XMLHttpRequest 对象的支持度不足
Ajax 的不足之一首先来自于浏览器 。Internet Explorer 在5.0及以后的版本才支持 XMLHttpRequest 对象(现阶段大部分客户端上的 IE 浏览器是 IE6 及以上), Mozilla 、 Netscape 等浏览器支持 XMLHttpRequest 则更在其后。为了使得 Ajax 应用能在各个浏览器中正常运行,程序员必须花费大量的精力编码以兼顾各个浏览器之间的差别,来让 Ajax 应用能够很好地兼容各个浏览器。这使得 Ajax 开发的难度比普通的 Web 开发高出很多,许多程序员因此对 Ajax 望而生畏。
2.破坏浏览器"前进"、"后退"按钮的正常功能
在传统的网页中,用户经常会习惯性的使用浏览器自带的"前进"和"后退"按钮,然而 Ajax改变了此 Web 浏览习惯。在 Ajax 中"前进"和"后退"按钮的功能都会失效,虽然可以通过一定的方法(添加锚点)来使得用户可以使用"前进"和"后退"按钮,但相对于传统的方式却麻烦了很多,对于大多数程序员来说宁可放弃前进、后退的功能,也不愿意在繁琐的逻辑中去处理该问题。然而,对于用户来说,他们经常会碰到这种情况,当单击一个按钮触发一个 Ajax 交互后又觉得不想这样做,接着就去习惯性地单击"后退"按钮,结果发生了最不愿意看到的结果,浏览器后退到了先前的一个页面,通过 Ajax 交互得到的内容完全消失了 。
3.对搜索引擎的支持的不足
对于搜索引擎的支持也是 Ajax 的一项缺憾。通常搜索引擎都是通过爬虫程序来对互联网上的数以亿计的海量数据来进行搜索整理的,然而爬虫程序现在还不能理解那些奇怪的 JavaScript 代码和因此引起的页面内容的变化,这使得应用 Ajax 的站点在网络推广上相对于传统站点明显处于劣势。
4.开发和调试工具的缺乏
JavaScript 是 Ajax 的重要组成部分,在目前,由于缺少很好的 JavaScript 开发和调试工具,使很多 Web 开发者对 JavaScript 望而生畏,这对于编写 Ajax 代码就更加困难了。同时,目前许多 Web 开发者已经习惯使用可视化的工具,对亲自动手编写代码有畏惧感,这也在一定程度上影响了大家对 Ajax 的应用。
Ajax 的核心是 XMLHttpRequest 对象,它是 Ajax 实现的关键——发送异步请求、接收响应及执行回调都是通过它来完成的。
Ajax 的优势和不足的更多相关文章
- AJAX应用优势
国内翻译(仅音译)常为 “阿贾克斯” 和阿贾克斯足球队同音. 使用ajax 构建应用程序 这个术语源自描述从基于 Web 的应用到基于数据的应用的转换.在基于数据的应用中,用户需求的数据如联系人列表, ...
- AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架
1. 概念 Ajax asynchronous JavaScript and XML , 异步js和xml. 这种解释已经过时了, 现在ajax就是, 允许浏览器和服务器通信, 而无需刷新当前页面的技 ...
- Ajax部分
Ajax的概念 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指 ...
- 一步步学习javascript基础篇(9):ajax请求的回退
需求1: ajax异步请求 url标识请求参数(也就是说复制url在新页面打开也会是ajax后的效果) ajax异步请求没问题,问题一般出在刷新url后请求的数据没了,这就是因为url没有记录参数.如 ...
- ajax和jquery
ajax的定义: AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 Ja ...
- 第六章 jQuery和ajax应用
ajax是异步JavaScript和xml的简称. 一. ajax补白 优势 不足(不一定是不足) 不需要任何插件(但需要浏览器支持js) XMLHttpRequest对象在不同浏览器下有差异 优秀的 ...
- 解决js(ajax)提交后端的“ _xsrf' argument missing from POST” 的错误
首先先简述一下CSRF: CSRF是Cross Site Request Forgery的缩写(也缩写为XSRF),直译过来就是跨站请求伪造的意思,也就是在用户会话下对某个CGI做一些GET/POST ...
- 【jQuery基础学习】05 jQuery与Ajax以及序列化
好吧,这章不像上章那么水了,总是炒剩饭也不好. 关于AJAX 所谓Ajax,全名Asynchronous JavaScript and XML.(也就异步的JS和XML) 简单点来讲就是不刷新页面来发 ...
- 项目中关于AJAX的使用总结
一.使用情况:AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下使用.AJAX的核心:向服务器发送多个请求而无需用户等待来至服务器的响应. 二.AJAX的优势 1. ...
随机推荐
- Spring入门(二):自动化装配bean
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...
- pwnable.tw dubblesort 分析
本系列为用于记录那些比较有意思的题目. 题目为一个排序算法,就如题目名称那样,dubblesort,32位程序. 利用思路为栈溢出,先是栈溢出泄露出栈上libc的相关数据从而获取libc地址,再是栈溢 ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
- 操作MongoDB数据库知识点
一.命令行操作mongo: 1.开启数据库 mongo 如果启动mongo报以下错误: 运行brew services start mongodb 2.创建数据库并进入实例 use test 3.查看 ...
- Asp.net MVC 中 CodeFirst 开发模式实例
昨天写的这篇博客因为下班时间到了忘记保存了,好郁闷,得重新写一遍.实习所在公司使用的是CodeFirst开发模式,最近开始参与到公司的项目里面来了,发现这个模式特别好用,建库建表改变字段属性添加删除字 ...
- CAD.NET二次开发 新建图层 删除图层 指定图层颜色以及线形等
基于浩辰CAD 2019测试 功能实现 直接上代码: [CommandMethod("CreateAndAssignAlayer")] //新建图层 然后添加到图层表里 publi ...
- Java 创建、填充PDF表单域
表单域,可以按用途分为多种不同的类型,常见的有文本框.多行文本框.密码框.隐藏域.复选框.单选框和下拉选择框等,目的是用于采集用户的输入或选择的数据.下面的示例中,将分享通过Java编程在PDF中添加 ...
- 并发concurrent---1
背景:并发知识是一个程序员段位升级的体现,同样也是进入BAT的必经之路,有必要把并发知识重新梳理一遍. 并发concurrent: 说到并发concurrent,肯定首先想到了线程,创建线程有两种方法 ...
- win10安装tensorflow-gpu1.13.1+cuda10.0+cudnn7.3.1
一,本机配置 Win10 64bit NVIDIA GeForce GTX 960M Python3.7(Anaconda) 二,安装CUDA 亲测,TensorFlow-gpu1.13.1支持cud ...
- 在Docker中体验数据库之Mongodb
本文记录一下,在docker中安装Mongodb的过程. 环境:物理机 ubuntu18.04 因为环境变了,我在一台物理机上直接安装了ubuntu(非虚拟机和双系统),制作U盘镜像.安装参考:htt ...