ajax原理和技术分析
北京pk10冠军技 发布时间:05-27 来源:鹏鹏编程网 浏览:34次

ajax所包含的技术 

大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。 
1.使用CSS和XHTML来表示。 
2. 使用DOM模型来交互和动态显示。 
3.使用XMLHttpRequest来和服务器进行异步通信。 
4.使用javascript来绑定和调用。 

在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于web标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目前几乎所有的主流浏览器都支持它。 

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获取完整的回应数据。 

ajax的优点 

Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点: 
1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。 
  2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。 
  3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。 

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 

ajax的缺点 

下面我着重讲一讲ajax的缺陷,因为平时我们大多注意的都是ajax给我们所带来的好处诸如用户体验的提升。而对ajax所带来的缺陷有所忽视。 
下面所阐述的ajax的缺陷都是它先天所产生的。 
1、ajax干掉了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。) 
但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,和ajax框架所要求的快速开发是相背离的。这是ajax所带来的一个非常严重的问题。 
2、安全问题 
技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于credentials的安全漏洞等。 
3、对搜索引擎的支持比较弱。 
4、破坏了程序的异常机制。至少从目前看来,像ajax.dll,ajaxpro.dll这些ajax框架是会破坏程序的异常机制的。关于这个问题,我曾经在开发过程中遇到过,但是查了一下网上几乎没有相关的介绍。后来我自己做了一次试验,分别采用ajax和传统的form提交的模式来删除一条数据……给我们的调试带来了很大的困难。 
5、另外,像其他方面的一些问题,比如说违背了url和资源定位的初衷。例如,我给你一个url地址,如果采用了ajax技术,也许你在该url地址下面看到的和我在这个url地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。 
6、一些手持设备(如手机、PDA等)现在还不能很好的支持ajax,比如说我们在手机的浏览器上打开采用ajax技术的网站时,它目前是不支持的,当然,这个问题和我们没太多关系。
如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!
北京pk10倍投骗局 北京pk10大小单双软件 北京pk10高手技巧杀二码 北京快乐8数据 北京pk10单双如何投注 山西泳坛夺金
北京pk10冠军走势图 北京pk10冠军选号技巧 北京赛车pk10冠军公式 北京pk10高手技巧 什么是时时乐 最全的开奖APP
北京pk10冠军走势图 北京pk10冠军技巧 北京赛车pk10冠军公式 北京pk10冠军技巧 pk10冠军技巧5码公式 北京pk10冠军技巧
北京快乐8开奖 北京快乐8 全天北京快乐8免费计划 北京pk10在线精准计划 上海时时乐开奖彩票控
早餐饮品加盟 爱心早餐加盟 特色早餐店加盟 早点车加盟 北京早点小吃加盟店
加盟特色早点 早点店加盟 特色早点加盟店 湖北早餐加盟 早点加盟店有哪些l
早点小吃加盟网 江苏早餐加盟 雄州早餐加盟 特色早餐 早点面条加盟
山东早餐加盟 早餐连锁店 早点加盟店10大品牌 早点小吃加盟排行榜 天津早点小吃培训加盟
赛马会官方网 6十1开奖结果查询 内蒙古十一选五走势图今天的 福彩投注 广东十一选五技巧稳赚
快乐十分开奖网址 腾讯分分彩平台 河南快赢481杀号技巧 大乐透开奖结果查询 双色球彩票
上海11选5爱彩乐 白小姐图库 辽宁11选5推荐 陕西十一选五一定牛 黑龙江11选5遗漏正好彩票网
新十一选五走势图 浙江11选5攻略秘籍 广东快中彩开奖记录 山西十一选五推荐任三 香港赛马会六合彩偷码集