为何XMLHttpRequest对象是AJAX的核心

日期: 2009-12-10 来源:TechTarget中国 英文

  网络开发人员总是抱怨基于浏览器的应用软件的无状态性。就是说,一旦向服务器发出数据请求,且数据发送完毕后,所产生的连接即会断开。随后的数据请求又要建立新的连接。虽然可以应用许多方法,如cookie或ASP.NET之类的专利技术,将数据保存在客户端;但XMLHttpRequest对象提供一种减少响应时间的标准方法。

  浏览器中的XML

  XMLHttpRequest对象是AJAX(异步JavaScript+XML)开发范例的焦点所在,但它并非最近才出现。微软最先在Windows IE5中将XMLHttpRequest对象应用为ActiveX对象。Mozilla也在它的Mozilla 1.0(与Netscape 7)中应用了它的一个本地兼容版本。苹果也在它的Safari 1.2 中应用此对象。加入W3C DOM规格更使其成为网络开发的标准。

  XMLHttpRequest对象允许JavaScript不需重新装载页面即可发送HTTP请求。实质上,HTTP请求是通过后台收到的响应来发送的,但是,由于没有可见的中断产生,用户完全意识不到后台的处理过程,而会继续工作。对开发人员来说,这真是意外的收获,导致了能够实时向服务器发送数据的响应用户界面。

  方法

  XMLHttpRequest对象包含少量的方法,如下所示:

  abort():终止当前请求。

  getAllResponseHeaders():返回一个包含整套头标签与值的字符串。

  getResponseHeader(“名称”):返回特定头标签的字符串值。

  open(“方法”,“url”,“异步标志”,“用户名”,“密码”):替即将发生的请求执行安装功能,并允许你指定URL、方法(通常获得或提交)以及异步标志的可选参数,用户名与密码。

  sent(内容):发送(由open方法建立)的请求。可选内容参数可能包含字符串或DOM格式数据。

  setRequestHeader(“标签”,“值”):允许你指定与请求(由send方法建立)一同发送的标签/值对。
 
  open方法的第三个可选参数是一个布尔代数值,它对你是否异步处理即将发生的交易进行控制;这也是AJAX首字母缩写异步部分进入图片的地方。异步处理为边默认行为(真),就是说在调用send()方法后,不用等待响应就立即执行脚本处理。如果将此值设为假,此脚本等待发出请求,服务器做出反映后再执行。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 八个超实用的jQuery技巧攻略

    jQuery是JavaScript最好的库之一,主要用于制作动画、事件处理,支持Ajax及HTML脚本客户端。文中分享了8个超实用的jQuery代码技巧攻略,希望你会喜欢。

  • BEST:SOAP/XML和REST的替代方案

    虽然拥有大量的机架服务器,以及大量软件开发人员的组织,基于web和集成服务的SOAP和REST很适合他们,但也会出现问题。

  • Spring 烂!差!

    有些人可能对Spring的第一印象不太好,它真的很烂,很差吗,也许这只是你的一种偏见,它也有是自己的优点的。

  • 基于SOA架构的业务安全性研究

    SOA在提供价值链上企业之间信息共享和业务流程自动化的同时,也给业务信息安全带来了负面影响,且存在安全隐患,这些你知道吗?