ajax优缺点 工作原理
优点:
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优缺点 工作原理相关推荐
- Ajax的工作原理和优缺点
Ajax是什么? Ajax(Asynchronous Javascript And Xml),即异步的HTML和XML,是指一种创建交互式网页应用的网页开发技术. Ajax是一种快速创建动态网页的技术 ...
- 教你读懂Ajax的工作原理
Ajax的工作原理 1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛 ...
- AJAX入门——工作原理
理解同步交互和异步交互 举个例子:普通B/S模式(同步) AJAX技术(异步) * 同步: 提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不 ...
- ajax优缺点及原理,Ajax实例解析,异步机制以及优缺点
Ajax实例解析 1.Ajax读取一个xml文档并进行解析的实例: 服务器端(PHP): 客户端: var ajax = new XMLHttpRequest(); function sendMess ...
- 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 ...
- AJAX工作原理及其优缺点
1.什么是AJAX? AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. ...
- 【java项目实践】具体解释Ajax工作原理以及实现异步验证username是否存在+源代码下载(java版)...
一年前,从不知道Ajax是什么,伴随着不断的积累,到如今常常使用,逐渐有了深入的认识. 今天,假设想开发一个更加人性化,友好,无刷新,交互性更强的网页,那您的目标一定是Ajax. 介绍 在具体讨论Aj ...
- ajax技术原理及工作原理
AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 主要包含了以下几种 ...
- 总结 - Ajax工作原理和实现步骤
目录 一 Ajax技术与原理 1.1 Ajax简介 1.2 Ajax所包含的技术 1.3 Ajax的工作原理 1.4 XMLHttpRequest 对象的三个常用的属性 1. onreadystate ...
最新文章
- 地图样式自定义_干货在线 | ArcGIS中定义图框样式
- Linq to Sql : 动态构造Expression进行动态查询
- 浙江 徐崇峰 胜 杭州 郭凤达 2018年第五届“高港杯”象棋青年大师赛男子组
- 【牛客网】安置路灯 C++
- python 决策树 math库 c45算法
- tmux颜色高亮跟vim不一致的情况
- Pycharm常用高效技巧总结
- Mysql执行计划含义,mysql执行计划介绍
- Spring4.x(12)--SpringEL-HelloWorld
- 得到星期的sql语句和得到月末的sql语句
- matlab plv,脑电脑网络分析代码使用流程介绍
- 电脑网易云音乐,网易云音乐的橄榄枝来了?
- 如何解决同花顺软件打开时,出现 “无法与服务器建立连接” 的问题
- 记一次中Phobos家族Devos勒索病毒
- STM32L031 BMI160 陀螺仪检测到移动向单片机发送中断
- 理解加载class到JVM的时机
- matlab亮度对比度调节公式,图像编辑之对比度调整(亮度对比度的算法公式)
- 小丑改造计划之复习一
- SysTick系统滴答定时器
- CentOS7上Glusterfs的安装及使用(gluster/heketi)
热门文章
- 华创期货:成功的期货交易原则可有效避免亏损
- linux如何删除日志,linux 删除日志
- 精益管理学会:精益生产是谁命名的?99.9%人都说错了
- c# 读取、写入json文件
- MySQL插入中文数据时报错:Incorrect string value: ‘\xC8\xFD\xCC\xE5‘ 解决方案
- 什么是双眼皮修复原则
- InnoDB中的索引类型
- MathType改变字体大小
- 数据中心主机房内部各部位装修材料防火等级A级的溯源
- 第一篇——关于99乘法表