使用Ajax的主要原因:1、通过适当的Ajax应用达到更好的用户体验;2、把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。
Ajax是Asynchronous JavaScript and XML的缩写。它包括
使用XHTML和CSS标准化呈现;
使用DOM实现动态显示和交互;
使用XML和XSLT进行数据交换与处理;
使用XMLHttpRequest进行异步数据读取;
最后用JavaScript绑定和处理所有数据;
工作原理
Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
Ajax其核心只有JavaScript、XMLHTTPRequest和DOM,在旧的交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端, 每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。
1、XMLHTTPRequest
Ajax的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新更新页面),这一特点主要得益于XMLHTTP组件XMLHTTPRequest对象。
XMLHttpRequest 对象方法描述
abort() 停止当前请求
getAllResponseHeaders() 作为字符串返问完整的headers
getResponseHeader("headerLabel") 作为字符串返问单个的header标签
open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 设置未决的请求的目标 URL, 方法, 和其他参数
send(content) 发送请求
setRequestHeader("label", "value") 设置header并和请求一起发送 ('post'方法一定要 )
XMLHttpRequest 对象属性描述
onreadystatechange 状态改变的事件触发器,readyState 对象状态(integer):
0 = 未初始化 1 = 读取中 2 = 已读取 3 = 交互中 4 = 完成
responseText 服务器进程返回数据的文本版本
responseXML 服务器进程返回数据的兼容DOM的XML文档对象
responseBody 服务器返回的主题(非文本格式)
responseStream 服务器返回的数据流
status 服务器返回的状态码, 如:404 = "文件末找到" 、200 ="成功"
statusText 服务器返回的状态文本信息
2、JavaScript
JavaScript是一在浏览器中大量使用的编程语言。
3、DOM Document Object Model。
DOM是给 HTML 和 XML 文件使用的一组 API。它提供了文件的结构表述,让你可以改变其中的內容及可见物。其本质是建立网页与 Script 或程序语言沟通的桥梁。所有WEB开发人员可操作及建立文件的属性、方法及事件都以对象来展现(例如,document 就代表“文件本身“这个对像, table 对象则代表 HTML 的表格对象等等)。这些对象可以由当今大多数的浏览器以 Script 来取用。一个用HTML或XHTML构建的网页也可以看作是一组结构化的数据,这些数据被封在DOM(Document Object Model)中,DOM提供了网页中各个对象的读写的支持。
4、XML
可扩展的标记语言(Extensible Markup Language)具有一种开放的、可扩展的、可自描述的语言结构,它已经成为网上数据和文档传输的标准。
5、综合
Ajax引擎,实际上是一个比较复杂的JavaScript应用程序,用来处理用户请求,读写服务器和更改DOM内容。JavaScript的Ajax引擎读取信息,并且互动地重写DOM,这使网页能无缝化重构,也就是在页面已经下载完毕后改变页面内容,这是我们一直在通过JavaScript和DOM在广泛使用的方法,但要使网页真正动态起来,不仅要内部的互动,还需要从外部获取数据,在以前,我们是让用户来输入数据并通过DOM来改变网页内容的,但现在,XMLHTTPRequest,可以让我们在不重载页面的情况下读写服务器上的数据,使用户的输入达到最少。
Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰的界限的,数据与呈现分离的分离,有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理。
四、应用
Ajax理念的出现,揭开了无刷新更新页面时代的序幕,并有代替传统web开发中采用form(表单)递交方式更新web页面的趋势。
五、Ajax的优势
1、减轻服务器的负担。因为Ajax的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响影对服务器造成的负担;
2、无刷新更新页面,减少用户实际和心理等待时间;
3、也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本;
4、Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离);
分享到:
相关推荐
AJAX原理 原理 AJAXAJAX原理 原理 AJAXAJAX原理 原理 AJAX
关于Ajax原理的ppt 理解AJAX原理 理解AJAX核心对象 了解异步调用基本原理 使用异步调用构建简单AJAX程序
Ajax原理与系统开发》源码 Ajax原理与系统开发》源码
ajax ajax原理 ajax代码 ajax编程 ajax学习
主要关于ajax原理、XMLHTTPRequest等介绍
ajax原理
ajax原理,ajax原理和XmlHttpRequest对象,ajax优缺点
Ajax原理 和开发指南
Ajax原理详细说明.docAjax原理详细说明.doc
Ajax原理详细说明
ajax原理及应用,概念,技术以及xmlhttprequest实例化
Ajax原理图解借鉴.pdf
Ajax原理介绍,详细介绍了ajax的工作原理!
AJAX原理[收集].pdf
描述原生ajax的原理,以及详细的用法 1.什么是Ajax技术? Ajax 由javascript , xml , css 的组合来做到一定功能的技术 2.它的工作原理是什么? 它会产生一个Ajax引擎对象XMLHttpRequest,它由浏览器产生。所以不同...
程序员突击:Ajax原理与系统开发
AJAX原理及其在Web开发中的应用.pdf
Ajax 原理和应用.如果你对Ajax不了解或者不是很熟悉的,可以来看看 文档通过10个方面,比较详细的给你介绍这一技术。 1、ajax技术的背景 2、ajax技术的意义 3、关于ajax的名字 。。。等等
1 原始ajax原理 2 jquery JDBC 3 json数据 4 三级联动 5 仿百度自动提示 6 fromValidator验证 其中自带jar包 修改 DBconfig Mysql数据库配置文件直接运行即可 方便大家学习 ~~~同时鄙视那些高分卖例子的人... ...
十分经典的Ajax实例,可以讲通用 网页无刷新,异步请求实现的相当完美