ajax的工作原理电子教案
《ajax培训课件》PPT课件
为DOM编程操作提供了诸多便利和加强的API类。 提供了对XMLHttpRequest对象进行封装的Ajax API类,简化了
XMLHttpRequest对象创建和调用细节。 提供了构造和解析JSON对象的扩展方法。
技巧:
在实际项目中最好是使用压缩版本的Prototype库。
7
2021/6/10
AJAX工作原理图
浏览器
用户接口 Http请求数据
Http(s) 传输
Html+CSS数据 Web服务器
数据库
服务器端系统
传统Web应用模式
浏览器
用户接口
Javascript调用
Html+CSS数据
AJAX引擎
Http请求数据
Http(s) 传输
XML/文本数据
Web/XML服务器
2
2021/6/10
用传统方式校验用户名是否重复
效果展示与设计分析:
效果展示与要求:注册页面的表单保持可见状态 设计分析(见下页)
实现方式:
在原来的主窗口中回显结果 用弹出的新窗口回显结果
3
2021/6/10
传统方式校验用户名是否重复的设计分析
Reguser.jsp
校验用户名 是否重复
11
2021/6/10
浏览器的普通交互方式
12
2021/6/10
AJAX的交互方式
13
2021/6/10
AJAX的应用场景
14
2021/6/10
AJAX的应用场景:财富通网吧充值界面
15
2021/6/10
AJAX的应用场景
16
2021/6/10
XMLHTTPREQUEST对象的创建
《Ajax教程之一》课件
02
Ajax基础知识
XMLHttpRequest对象
XMLHttpRequest对象用于在后台与服务器交换数据 。
它提供了一种方法,可以在不重新加载整个页面的情况 下,与服务器交换数据并更新部分网页内容。
XMLHttpRequest对象可以读取从服务器返回的数据, 并将这些数据显示在网页上。
发送请求
Ajax的应用场景
要点一
总结词
Ajax适用于需要频繁与服务器交互的网页应用,如动态表 单验证、实时搜索、聊天室、在线编辑器等。
要点二
详细描述
在动态表单验证中,Ajax可以用于实时验证用户输入的数 据,提高表单提交的效率和用户体验。实时搜索中,Ajax 可以实现动态搜索结果,提高搜索的准确性和效率。在聊 天室中,Ajax可以实现实时更新聊天内容,提高聊天的实 时性和用户体验。在线编辑器中,Ajax可以实现实时保存 和预览功能,提高编辑的效率和用户体验。
详细描述
在Ajax中,发送POST请求与发送GET请求类似,同样使用XMLHttpRequest对象的open()方法指定 请求类型为"POST",然后使用send()方法发送请求。不同的是,POST请求需要将数据包含在请求体 中,可以通过设置send()方法的参数或者使用FormData接口来构建请求体。
05
总结与展望
Ajax的优势与不足
优势 无需重新加载整个页面,提高用户体验;
减轻服务器负担,提高网站性能;
Ajax的优势与不足
• 实现异步数据交互,提高数据传输效率。
Ajax的优势与不足
01
不足
02
03
04
需要复杂的编程技术,学习成 本高;
存在跨域问题,限制了数据交 互的范围;
ajax课程设计项目
ajax课程设计项目一、教学目标本课程旨在让学生了解和掌握Ajax的基本原理和应用方法。
通过本课程的学习,学生将能够:1.知识目标:理解Ajax的工作原理,掌握Ajax的基本语法和常用方法。
2.技能目标:能够使用Ajax技术进行数据的异步请求和处理,提高网页的交互性能。
3.情感态度价值观目标:培养学生对新技术的敏感度和学习兴趣,培养学生的创新意识和团队协作能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Ajax概述:介绍Ajax的定义、工作原理和优点。
2.Ajax的基本语法:讲解Ajax的核心对象和常用方法,如XMLHttpRequest、JSON等。
3.Ajax的应用:通过实例分析,讲解如何使用Ajax技术实现数据的异步请求和处理。
4.高级Ajax技术:介绍一些常用的Ajax库和框架,如jQuery、Ajaxify等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:用于讲解Ajax的基本概念和语法。
2.案例分析法:通过分析实际案例,让学生了解Ajax的应用和实现方法。
3.实验法:安排实验室实践环节,让学生亲手编写Ajax代码,提高其实际应用能力。
四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:选用权威、实用的Ajax教材,为学生提供系统的学习资料。
2.参考书:推荐一些高质量的Ajax相关书籍,拓展学生的知识面。
3.多媒体资料:制作课件、教学视频等,以图文并茂的形式展示Ajax技术。
4.实验设备:提供足够的计算机和网络设施,保障实验室实践环节的顺利进行。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,以考察其对Ajax知识的掌握程度。
2.作业:布置课后作业,让学生通过实践巩固所学知识,评估其应用能力。
3.实验报告:评估学生在实验室实践环节的表现,包括代码编写、问题解决等。
4.期末考试:全面考察学生对Ajax知识的掌握程度,包括理论知识和技术应用。
12-Ajax(精简版)PPT课件
上机习题
2021/3/12
14
感谢您的阅读收藏,谢谢!
2021/3/12
15
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
<body> <SCRIPT LANGUAGE="JavaScript"> function showInfo(){ var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); xmlHttp.open("GET", "info.jsp", true); xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState==4) { infoDiv.innerText = xmlHttp.responseText; } } xmlHttp.send(); } </SCRIPT> 欢迎来到本系统. <HR> <input type="button" value="显示公司信息" onClick="showInfo()"> <div id="infoDiv"></div>
《Ajax 实用技术》电子教案 第2章 CSS3基础 2.6-2.7pptx
图2-5 元素盒模型结构图
从图2-5可以看出一个HTML网页元素从 内到外由4个部分组成,分别是:
● 元素内容——即HTML标记中实际显 示的内容。
1、CSS定位
CSS定位由position元素进行控制。 position属性的值可以是以下4种之一:
(1)static——也称为静态定位,为默认 值。静态定位情况下,元素按照标准流 的方式排列在文档中。
(2) relative——也称为相对定位,相对 定位以标准流为基础,并使元素盒子相 对于它在标准流中的位置偏移指定的距 离
两种元素可以互换,通过display属性进 行控制。若将display设置为inline,则元 素显示为行内元素;
若将display设置为block,则显示为块元 素。
1、行内元素间的水平距离
两行内元素之间的水平距离是左右两个 元素外边距之和,
即左边元素的右外边距加右边元素的左 外边距。如图2-7所示。
设置边框宽度为10px,实线,颜色为绿 色。
在学习了排列元素的盒模型之后,我们 再来介绍一下排列元素很重要的另一方 面:CSS定位。
2.6.2 CSS定位
元素在网页中的排列布局称为文档流。 正常情况下,即没有进行任何设计置的
情况下,元素按照标记在网页中出现的 顺序排列,每个块元素占一行,一行中 从左向右顺序摆放若干个行内元素,这 种排列方式称为标准流[8]。 CSS定位允许指定元素之间的相对位置 和绝对位置,可以改变默认的文档流。
网页元素分为两类:
◆ 块元素——所有块元素以及块元素 与行内元素在网页中都竖直排列,一个 块元素占据网页中的一行。两个块级元 素不能在同一行上。
Ajax基本原理及开发过程
• 通过示例体验Ajax的异步通信
Ajax实例开发步骤
• 用Ajax完成一个简单的查询客服人员状态的 例子
– 新建HTML或JSP页面 – 在页面中写出创建 XMLHttpRequest对象的方法 – 写出事件响应方法,用创建的 XMLHttpRequest 对象发出异步 Ajax 请求 – 创建 Servlet 响应请求 – 在页面完成回调方法,处理服务器端响应,改 变页面效果
XMLHttpRequest对象的方法
• open方法的get请求类型
– 如果使用“get”方式发出请求,可以用下述办法
xhr.open("get", "/Ajax/servlet/ServletName?sName=" + sName); xhr.send(null);
get请求的特点
GET请求的数据会附在URL之后,以?分割URL和传输数据,参 数之间以&相连 GET方式提交的数据长度受浏览器限制,一般是1024字节
chongqingmicrosoftitacademy微软it学院重庆软件服务外包人才培训基地系列课程web20页面设计核心ajax课程目标?掌握ajax应用程序的开发过程?掌握xmlhttprequest对象和常用方法?能够使用回调函数处理http请求的状态变化课程内容?ajax基本原理及开发过程本章内容?ajax简介?ajax基本原理?ajax实例开发步骤?xmlhttprequest对象xmlhttprequest对象简介创建xmlhttprequest对象xmlhttprequest对象的方法xmlhttprequest对象的属性xmlhttprequest对象处理响应ajax简介?ajax概念是web开发一个流行的词汇全称asynchronousjavascriptandxml异步的javascript和xml是几种技术的强强联合?为什么要学习ajax使用ajax的最大优点就是能在不更新整个页面的前提下维护数据
ajax教案
ajax教案(一)教学目标1. 了解 AJAX 的原理和优势;2. 掌握 AJAX 的基本应用和实现方法,如异步刷新、数据交互等;3. 能够通过 AJAX 实现表单验证、信息提交等常见功能。
(二)教学内容1. AJAX 的概念和原理;2. AJAX 的应用场景和优势;3. AJAX 实现异步刷新和数据交互的方法;4. AJAX 实现表单验证和信息提交的方法。
(三)教学重点1. AJAX 的原理和优势;2. AJAX 实现异步刷新和数据交互的方法。
(四)教学难点1. AJAX 实现表单验证和信息提交的方法;2. AJAX 的应用场景和优势。
(五)教学方法1. 讲授法;2. 实践操作。
(六)教学过程1. AJAX 概念和原理1.1 AJAX 是什么?AJAX 是 Asynchronous JavaScript and XML 的缩写,指异步JavaScript 和 XML 技术。
1.2 AJAX 的原理AJAX 使用 JavaScript + XML + XMLHttpRequest 实现异步通信。
XMLHttpRequest 对象是 AJAX 的核心,它可以与服务器进行数据交互,而不需要刷新整个页面。
2. AJAX 的应用场景和优势2.1 AJAX 的应用场景AJAX 主要用于网站的异步刷新和数据交互。
2.2 AJAX 的优势(1)提高网站性能,避免页面的重复刷新;(2)增强用户体验,可以实现异步更新数据,用户无需等待页面的重载;(3)提高服务器的处理效率。
3. AJAX 实现异步刷新和数据交互的方法3.1 AJAX 异步刷新方法(1)创建 XMLHttpRequest 对象;(2)创建回调函数,检测服务器端响应状态和数据;(3)发送请求,从服务器获取数据;(4)更新页面数据。
3.2 AJAX 数据交互方法(1)创建 XMLHttpRequest 对象;(2)设置请求的参数和数据;(3)发送请求并接收响应。
ajax php ppt课件
详细描述
PHP在Web开发领域应用广泛,如动态网页生成、表单处理、文件上传下载等。同时,PHP也常用于 开发内容管理系统,如WordPress等。此外,PHP在电子商务平台和社交媒体平台中也有广泛应用, 如淘宝、京东、微信等平台的后端开发。
AJAX 允许在后台与服务器进行数据交换, 减少了不必要的页面刷新,提高了数据交 互的效率。
增强网站功能
与 PHP 结合
通过 AJAX,可以创建更复杂、更丰富的网 站功能,如实时搜索、动态表单等。
PHP 是一种服务器端脚本语言,可以处理 服务器端的逻辑和数据。与 AJAX 结合, 可以实现前后端分离,提高开发效率。
要点二
详细描述
在 AJAX 的工作过程中,首先通过 JavaScript 创建一个 XMLHttpRequest 对象,然后使用该对象的 open() 方法 指定请求的 URL、请求类型(GET 或 POST)和是否异步 处理请求。接下来,使用 send() 方法发送请求到服务器。 当服务器处理完请求并返回响应时,JavaScript 通过 XMLHttpRequest 对象的 onreadystatechange 事件监 听器检测到响应状态的变化,并获取响应数据。最后, JavaScript 对响应数据进行解析和处理,更新网页内容。
02
PHP 简介
PHP 的定义
总结词
PHP是一种通用的开源脚本语言,主要用于Web开发,也可用于开发命令行脚 本和桌面应用程序。
详细描述
PHP是一种服务器端脚本语言,它嵌入在HTML中,并由服务器解析执行,生 成动态的Web页面。PHP语言具有简单易学、功能强大、跨平台等特点,被广 泛应用于Web开发领域。
AJAX
XMLHttpRequest介绍 XMLHttpRequest介绍
XMLHttpRequest是Ajax中异步操作的关键,通常被称为XMLHttp,此组件最 是Ajax中异步操作的关键,通常被称为XMLHttp,此组件最 中异步操作的关键 XMLHttp, 重要的功能就是完成Ajax中的异步操作, Ajax处理数据的核心 Ajax中的异步操作 处理数据的核心。 重要的功能就是完成Ajax中的异步操作,是Ajax处理数据的核心。 XMLHttpRequest是依附于浏览器的一个组件,浏览器不同则针对的组件名 是依附于浏览器的一个组件, 是依附于浏览器的一个组件 称也不同。XMLHttpRequest是Firefox中组件的名称 IE中组件名称为 中组件的名称, 称也不同。XMLHttpRequest是Firefox中组件的名称,在IE中组件名称为 XMLHttp,所以目前有两种标准 所以目前有两种标准: XMLHttp,所以目前有两种标准:XMLHttpRequest和XMLHttp。 和 。 Firefox浏览器中创建异步调用对象 浏览器中创建异步调用对象: 在Firefox浏览器中创建异步调用对象: var xmlhttp; xmlhttp=new XMLHttpRequest(); IE浏览器中创建异步调用对象 浏览器中创建异步调用对象: 在IE浏览器中创建异步调用对象: var xmlhttp; xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
AJAX数据处理的实现机制 AJAX数据处理的实现机制
AJAX的主要应用是异步获取后台数据和局部刷新。 AJAX的主要应用是异步获取后台数据和局部刷新。 的主要应用是异步获取后台数据和局部刷新 异步获取数据的原理是:通过Ajax Ajax技术把网络上或服务器上的数据下载到 异步获取数据的原理是:通过Ajax技术把网络上或服务器上的数据下载到 客户端的内存中,然后使用JavaScript语言根据实际需要整合这些资源, JavaScript语言根据实际需要整合这些资源 客户端的内存中,然后使用JavaScript语言根据实际需要整合这些资源, 并用CSS DOM实现对界面的布局 CSS和 实现对界面的布局。 并用CSS和DOM实现对界面的布局。 AJAX处理数据的特点就是异步调用和按需索取。 处理数据的特点就是异步调用 AJAX处理数据的特点就是异步调用和按需索取。 异步读取实现的原理是:当用户选择某项功能时, 异步读取实现的原理是:当用户选择某项功能时,这项功能调用过程中页 面不会出现中断,用户此时可以浏览其它内容,而非传统的白屏等待页面。 面不会出现中断,用户此时可以浏览其它内容,而非传统的白屏等待页面。 异步的意思与多线程类似,使用XMLHttp可以在后台运行用户的操作, XMLHttp可以在后台运行用户的操作 异步的意思与多线程类似,使用XMLHttp可以在后台运行用户的操作,而用 户在前台感觉不到数据在交互,如此Ajax就可以实现异步调用功能. Ajax就可以实现异步调用功能 户在前台感觉不到数据在交互,如此Ajax就可以实现异步调用功能.这样 就不会中断用户的操作,也不会刷屏,让用户休验Web2.0时代的页面特色。 Web2.0时代的页面特色 就不会中断用户的操作,也不会刷屏,让用户休验Web2.0时代的页面特色。 按需索取实现的原理是:将服务器端的数据根据需要分成多个多页, 按需索取实现的原理是:将服务器端的数据根据需要分成多个多页,然后客 户端需要哪个内容,则使用XMLHttp加载哪个网页,最后用Response.Write XMLHttp加载哪个网页 户端需要哪个内容,则使用XMLHttp加载哪个网页,最后用Response.Write 返回索取的数据。 返回索取的数据。
Ajax原理 ppt课件
Ajax原理
对于不同的浏览器,创建方式不一样:
IE6.0以前 var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); MSXML3.0 var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP); FIREFOX,IE7.0以及其他非IE浏览器 var xmlhttp = new XMLHttpRequest();
DOM Javascript CSS XMLHttpRequest
Ajax原理
Ajax原理
XmlHttpRequest对象是ajax技术的核心, 没有XmlHttpRequest对象就相当于没有 ajax
XmlHttpRequest是XMLHTTP组件的对 象 ,通过XmlHttpRequest可以像桌面应用 程序一样只同服务器进行数据层面的信息 交换,而不用刷新页面
Ajax原理
Ajax原理
更丰富的“用户体验”,新的交互方式
内容聚合
自动 补全
每个小“窗口” 可以关闭、最 小化和进行个
性化设置
所有操作都是在不刷新窗口的情况下完成的
Ajax原理
无刷新:不刷新整个页面,只刷新局部 无刷新的好处
只更新部分页面,有效利用带宽
只是登录,没 必要刷新“庞 大”的页面。
无刷新的好处
getResponseHeader(DOMString header,value)方法 用于检索响应的头部值。
getAllResponseHeaders() 把HTTP请求的所有响应首部作为键/值对
Ajax原理
步骤: 1、创建XmlHttpRequest对象,并初始化。 2、发送请求 3、服务器接收请求进行处理 4、返回响应数据 5、客户端接收 6、依据响应数据修改客户端页面内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a j a x的工作原理1、ajax技术的背景不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth、google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行。
而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,比如说MSDN网站菜单中的一些应用。
遗憾的是,不知道出于什么想法,当时微软发明了ajax的核心技术之后,并没有看到它的潜力而加以发展和推广,而是将它搁置起来。
对于这一点来说,我个人是觉得非常奇怪的,因为以微软的资源和它的战略眼光来说,应该不会看不到ajax技术的前景,唯一的解释也许就是因为当时它的主要竞争对手Netscape的消失反而使它变得麻痹和迟钝,毕竟巨人也有打盹的时候,比如IBM曾经在对微软战略上的失误。
正是这一次的失误,成就了它现在的竞争对手google在ajax方面的领先地位,而事实上google目前在ajax技术方面的领先是微软所无法达到的,这一点在后面我讲述ajax缺陷的时候也会提到。
现在微软也意识到了这个问题,因此它也开始在ajax领域奋起直追,比如说推出它自己的ajax框架atlas,并且在.NET2.0也提供了一个用来实现异步回调的接口,即ICallBack接口。
那么微软为什么对自己在ajax方面的落后如此紧张呢?现在就让我们来分析一下ajax技术后面隐藏的深刻意义。
2、ajax技术的意义我们在平时的开发中都多多少少的接触或者应用到了ajax,谈到ajax技术的意义,我们关注得最多的毫无疑问是提升用户的体验。
但是,如果我们结合将来电脑和互联网的发展趋势,我们会发现ajax技术在某些方面正好代表了这种趋势。
为什么这样说呢?我们知道,自从电脑出现以来,一直是桌面软件占据着绝对主导的地位,但是互联网的出现和成功使这一切开始发生着微妙的变化。
相当一部分的人都相信,迟早有一天,数据和电脑软件将会从桌面转移到互联网。
也就是说,将来的电脑有可能抛弃笨重的硬盘,而直接从互联网来获取数据和服务,我记得我念大学的时候,有位教授给我们上课的时候,曾经设想过这样一种情景,也许在将来的电脑桌面上,没有任何多余的软件和程序,而仅仅只有一个IE,虽然现在看起来我们距离这一天还很遥远,并且这其中还有很多的问题需要解决,但是我觉得这个并非梦想,而是迟早将实现的现实。
那么,这其中的主要问题就是互联网的连接不稳定,谁也不愿意看着自己的电脑从服务器一点一滴的下载数据,那么,ajax是不是解决了这个问题呢,说实话,与其说ajax解决了这个问题,倒不如它只是掩盖了这个问题,它只是在服务器和客户端之间充当了一个缓冲器,让用户误以为服务没有中断。
精确的说,ajax并不能提高从服务器端下载数据的速度,而只是使这个等待不那么令人沮丧。
但是正是这一点就足以产生巨大的影响和震动,它实际上也对桌面软件产生了巨大的冲击。
这一点我用一个例子来说明,我们可以比较一下Outlook Express和Gmail,前者是典型的桌面软件,后者是ajax所实现的B/S模式,实际上后者目前已经在慢慢取代前者了,Gmail在收发邮件的时候已经和Outlook Express的功能几乎没有差别了,而且它不需要安装客户端程序。
这就是为什么微软对ajax所带来的冲击有着如此的恐惧心理,并且在它前不久所进行的调查之中,将google看做他们未来十年内的主要竞争对手的主要原因之一。
当然,这种变化也并不会将桌面软件全部淘汰,现有的浏览器还没有一个能像PhotoShop等桌面程序那样处理复杂的图像。
但是我们也不能忽视它带来的影响和冲击。
3、关于ajax的名字ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式。
4、关于同步和异步异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的。
具体来说,异步传输是将比特分成小组来进行传送。
一般每个小组是一个8位字符,在每个小组的头部和尾部都有一个开始位和一个停止位,它在传送过程中接收方和发送方的时钟不要求一致,也就是说,发送方可以在任何时刻发送这些小组,而接收方并不知道它什么时候到达。
一个最明显的例子就是计算机键盘和主机的通信,按下一个键的同时向主机发送一个8比特位的ASCII代码,键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必须能够在任何时刻接收一个键入的字符。
这是一个典型的异步传输过程。
异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。
在它检测到数据并做出响应之前,第一个比特已经过去了。
这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。
因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。
按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号。
步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。
最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。
例如在键盘上数字“1”,按照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。
同步传输的比特分组要大得多。
它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。
我们将这些组合称为数据帧,或简称为帧。
数据帧的第一部分包含一组同步字符,它是一个独特的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。
帧的最后一部分是一个帧结束标记。
与同步字符一样,它也是一个独特的比特串,类似于前面提到的停止位,用于表示在下一帧开始之前没有别的即将到达的数据了。
同步传输通常要比异步传输快速得多。
接收方不必对每个字符进行开始和停止的操作。
一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。
另外,同步传输的开销也比较少。
例如,一个典型的帧可能有500字节(即4000比特)的数据,其中可能只包含100比特的开销。
这时,增加的比特位使传输的比特总数增加2.5%,这与异步传输中25 %的增值要小得多。
随着数据帧中实际数据比特位的增加,开销比特所占的百分比将相应地减少。
但是,数据比特位越长,缓存数据所需要的缓冲区也越大,这就限制了一个帧的大小。
另外,帧越大,它占据传输媒体的连续时间也越长。
在极端的情况下,这将导致其他用户等得太久。
了解了同步和异步的概念之后,大家应该对ajax为什么可以提升用户体验应该比较清晰了,它是利用异步请求方式的。
打个比方,如果现在你家里所在的小区因某种情况而面临停水,现在有关部门公布了两种方案,一是完全停水8个小时,在这8个小时内完全停水,8个小时后恢复正常。
二是不完全停水10 个小时,在这10个小时内水没有完全断,只是流量比原来小了很多,在10个小时后恢复正常流量,那么,如果是你你会选择哪种方式呢?显然是后者。
5、ajax所包含的技术大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。
它由下列技术组合而成。
1.使用CSS和XHTML来表示。
2. 使用DOM模型来交互和动态显示。
3.使用XMLHttpRequest来和服务器进行异步通信。
4.使用javascript来绑定和调用。
在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于web标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目前几乎所有的主流浏览器都支持它。
6、ajax原理和XmlHttpRequest对象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();}如上所示,函数首先检查XMLHttpRequest的整体状态并且保证它已经完成(readyStatus=4),即数据已经发送完毕。