转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
IT新技术名词:AJAX和SOAP——异步数据和XML获取         ★★★★

IT新技术名词:AJAX和SOAP——异步数据和XML获取

作者:闵涛 文章来源:闵涛的学习笔记 点击数:717 更新时间:2009/4/23 11:30:47

IT新技术名词:AJAX和SOAP——异步数据和XML获取

AJAX:原文Asynchronous Javascript and XML applications,其实就是那些通过javascript来异步取得xml数

据的应用!

我觉得这个缩写最狭隘了,因为我完全可以把JS换成VBS嘛,那不就可以缩写成AVAX了?!

从这点上说,远不如SOAP,它的原文应该是Simple Object Access Protocol,简单对象访问协议(汗哪,我也

不敢确认呢。其实使用的对象和技术就是XMLHTTP)。它就标准和广义多了,指的是所有通过客户端SCRIPT来异

步取得XML数据的应用,自然包括JS、VBS或其它脚本了。

给个小例子:

<script type="text/javascript">
<!--
function ajaxRead(file){
  var xmlObj = null;
  if(window.XMLHttpRequest){ //如果浏览器直接支持window.XMLHttpRequest对象
      xmlObj = new XMLHttpRequest();
      if (xmlObj.overrideMimeType) {xmlObj.overrideMimeType(''''text/xml'''');}//防止有些版本的Mozilla

瀏覽器在伺服器送回的資料未含XML mime-type檔頭(header)時出錯
  } else if(window.ActiveXObject){ //如果浏览器支持window.ActiveXObject对象
    try {
        xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
  } else {
      return; //浏览器啥都不支持,我也只有啥都不干了:p
  }
  if (!xmlObj) {
 alert(''''Giving up :( Cannot create an XMLHTTP instance'''');
 return;
  }

  xmlObj.onreadystatechange = function(){ //当xmlobj在异步执行方式下状态发生变化时触发本事件
    if(xmlObj.readyState == 4){
 if (xmlObj.status == 200) { //HTTP状态码,未出错。可参考.statusText
        document.getElementById(''''xmlObj'''').firstChild.data =

xmlObj.responseXML.getElementsByTagName(''''data'''')[0].firstChild.data; //document.getElementById

(''''xmlObj'''')的.firstChild.data也可换成.innerHTML
 } else {
     alert(''''There was a problem with the request.'''');
     return;
 }
    }
  }

  xmlObj.open (''''GET'''', file, true); //打开连接:请求方式,文件名(基於安全考量,你不能叫用同網域以

外的網頁。但你应该可以在IE的internet选项里放开吧),异步/同步
  xmlObj.setRequestHeader(''''Content-Type'''', ''''application/x-www-form-urlencoded''''); //如果.open以POST

方式打开
  xmlObj.send (''''''''); //必须执行此指令,否则XMLHttpRequest对象的状态不会变为4!
}
//-->
</script>

注:
XMLHttpRequest对象的状态总共有五个状态,由0走到4。
0 – 尚未初始化(在这个XMLHttpRequest开始前)
1 – 加载(XMLHttpRequest初始化一结束)
2 – 加载结束(XMLHttpRequest一从服务器上获得一个回应)
3 – 交互(当XMLHttpRequest对象和服务器连接中)
4 – 结束(当XMLHttpRequest被告知它已经完成了所有人物并结束运行)

IE5以上支持~~
除了XMLHTTP对象外,还涉及CSS和DOM技术。

优势:
消除了每次同服务器交互都必须整个页面进行刷新。
更快地同服务器进行交互,部分页面永远比要求服务器返回整个页面的数量流量小很多。


山风(Lanyd)寄语:
其实,不一定非要XMLHTTP,难道说TXT文件就不能通过HTTP来异步访问了?如果有人提供了一个具有XMLHTTP功

能的TXTHTTP对象,我们就可以实现了(只是以前一直没人有这个想法罢了)。其实,目前XMLHTTP就已经支持

TXT,用XMLHTTP.repsponeText就能得到。只不过,XML比TXT的描述统一和标准得多,还是那句话,TXT可以完

全自定义,XML就通用多了:)

 


[Web开发]AJAX来判断dedecms用户是否登录  [Web开发]XML与HTML在语法上的主要区别详解
[系统软件]如何让Expat支持中文XML  [VB.NET程序]vb.net 与 XML 的操作
[VB.NET程序]vb.net读写xml(2)--实现datagrid与xml的沟通(原创…  [VB.NET程序]vb.net 读写xml方法(1)
[VB.NET程序][VB.NET+XML]完成简单程序配置  [VB.NET程序]使用Visual Basic操纵XML文档
[VB.NET程序]XML 简单接口 (SAX2)用Visual Basic 实现的示例  [Delphi程序]DELPHI6抢先研究:WebService/SOAP版的Hello worl…
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台