优点:

1.无刷新更新数据

Ajax最大的优点就是能在不刷新整个页面的情况下维持与服务器通信

2.异步与服务器通信

使用异步的方式与服务器通信,不打断用户的操作

缺点:

1.Ajax干掉了Back与History功能,即对浏览器机制的破坏

在动态更新页面的情况下,用户无法回到前一页的页面状态,因为浏览器仅能记忆历史纪录中的静态页面

2.安全问题

AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。

3.对搜索引擎支持较弱

4.破坏程序的异常处理机制

5.违背URL与资源定位的初衷

6.不能很好地支持移动设备

7.客户端肥大,太多客户段代码造成开发上的成本

工作原理:

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。

XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

 所以我们先从XMLHttpRequest讲起,来看看它的工作原理。

 首先,我们先来看看XMLHttpRequest这个对象的属性。

  它的属性有:

  onreadystatechange  每次状态改变所触发事件的事件处理程序。

  responseText     从服务器进程返回数据的字符串形式。

  responseXML    从服务器进程返回的DOM兼容的文档数据对象。

  status           从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

  status Text       伴随状态码的字符串信息

  readyState       对象状态值

    0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)

    1 (初始化) 对象已建立,尚未调用send方法

    2 (发送数据) send方法已调用,但是当前的状态及http头未知

    3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

    4 (完成) 数据接收完毕,此时可以通过通过responseXml和responseText获取完整的回应数据

  但是,由于各浏览器之间存在差异,所以创建一个XMLHttpRequest对象可能需要不同的方法。这个差异主要体现在IE和其它浏览器之间。下面是一个比较标准的创建XMLHttpRequest对象的方法。

function CreateXmlHttp() {//非IE浏览器创建XmlHttpRequest对象if (window.XmlHttpRequest) {xmlhttp = new XmlHttpRequest();}//IE浏览器创建XmlHttpRequest对象if (window.ActiveXObject) {try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}catch (e) {try {xmlhttp = new ActiveXObject("msxml2.XMLHTTP");}catch (ex) { }}}
}function Ustbwuyi() {var data = document.getElementById("username").value;CreateXmlHttp();if (!xmlhttp) {alert("创建xmlhttp对象异常!");return false;}xmlhttp.open("POST", url, false);xmlhttp.onreadystatechange = function () {if (xmlhttp.readyState == 4) {document.getElementById("user1").innerHTML = "数据正在加载...";if (xmlhttp.status == 200) {document.write(xmlhttp.responseText);}}}xmlhttp.send();
}

ajax优缺点 工作原理相关推荐

  1. Ajax的工作原理和优缺点

    Ajax是什么? Ajax(Asynchronous Javascript And Xml),即异步的HTML和XML,是指一种创建交互式网页应用的网页开发技术. Ajax是一种快速创建动态网页的技术 ...

  2. 教你读懂Ajax的工作原理

    Ajax的工作原理 1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛 ...

  3. AJAX入门——工作原理

    理解同步交互和异步交互 举个例子:普通B/S模式(同步)       AJAX技术(异步)        *  同步: 提交请求->等待服务器处理->处理完毕返回  这个期间客户端浏览器不 ...

  4. ajax优缺点及原理,Ajax实例解析,异步机制以及优缺点

    Ajax实例解析 1.Ajax读取一个xml文档并进行解析的实例: 服务器端(PHP): 客户端: var ajax = new XMLHttpRequest(); function sendMess ...

  5. AJAX工作原理及其优缺点 1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页

    参考文章:https://www.cnblogs.com/SanMaoSpace/archive/2013/06/15/3137180.html AJAX工作原理及其优缺点 1.什么是AJAX? AJ ...

  6. AJAX工作原理及其优缺点

    1.什么是AJAX? AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. ...

  7. 【java项目实践】具体解释Ajax工作原理以及实现异步验证username是否存在+源代码下载(java版)...

    一年前,从不知道Ajax是什么,伴随着不断的积累,到如今常常使用,逐渐有了深入的认识. 今天,假设想开发一个更加人性化,友好,无刷新,交互性更强的网页,那您的目标一定是Ajax. 介绍 在具体讨论Aj ...

  8. ajax技术原理及工作原理

    AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 主要包含了以下几种 ...

  9. 总结 - Ajax工作原理和实现步骤

    目录 一 Ajax技术与原理 1.1 Ajax简介 1.2 Ajax所包含的技术 1.3 Ajax的工作原理 1.4 XMLHttpRequest 对象的三个常用的属性 1. onreadystate ...

最新文章

  1. 地图样式自定义_干货在线 | ArcGIS中定义图框样式
  2. Linq to Sql : 动态构造Expression进行动态查询
  3. 浙江 徐崇峰 胜 杭州 郭凤达 2018年第五届“高港杯”象棋青年大师赛男子组
  4. 【牛客网】安置路灯 C++
  5. python 决策树 math库 c45算法
  6. tmux颜色高亮跟vim不一致的情况
  7. Pycharm常用高效技巧总结
  8. Mysql执行计划含义,mysql执行计划介绍
  9. Spring4.x(12)--SpringEL-HelloWorld
  10. 得到星期的sql语句和得到月末的sql语句
  11. matlab plv,脑电脑网络分析代码使用流程介绍
  12. 电脑网易云音乐,网易云音乐的橄榄枝来了?
  13. 如何解决同花顺软件打开时,出现 “无法与服务器建立连接” 的问题
  14. 记一次中Phobos家族Devos勒索病毒
  15. STM32L031 BMI160 陀螺仪检测到移动向单片机发送中断
  16. 理解加载class到JVM的时机
  17. matlab亮度对比度调节公式,图像编辑之对比度调整(亮度对比度的算法公式)
  18. 小丑改造计划之复习一
  19. SysTick系统滴答定时器
  20. CentOS7上Glusterfs的安装及使用(gluster/heketi)

热门文章

  1. 华创期货:成功的期货交易原则可有效避免亏损
  2. linux如何删除日志,linux 删除日志
  3. 精益管理学会:精益生产是谁命名的?99.9%人都说错了
  4. c# 读取、写入json文件
  5. MySQL插入中文数据时报错:Incorrect string value: ‘\xC8\xFD\xCC\xE5‘ 解决方案
  6. 什么是双眼皮修复原则
  7. InnoDB中的索引类型
  8. MathType改变字体大小
  9. 数据中心主机房内部各部位装修材料防火等级A级的溯源
  10. 第一篇——关于99乘法表