xmlhttp调用webservice后记

上篇文章介绍了xmlhttp调用webservice,有几点需要补充一下。

IE浏览器

var xmlHttp = new ActiveXObject("MsXml2.XmlHttp");

Mozilla/FireFox浏览器

var req = new XMLHttpRequest();

2点注意

a.某些版本的Mozilla/FireFox不支持onreadystate事件

解决:
// XmlDocument factory
function XmlDocument() {}

XmlDocument.create = function () {
  try {
   // DOM2
   if (document.implementation && document.implementation.createDocument) {
     var doc = document.implementation.createDocument("", "", null);
      
     // some versions of Moz do not support the readyState property
     // and the onreadystate event so we patch it!
     if (doc.readyState == null) {
      doc.readyState = 1;
      doc.addEventListener("load", function () {
        doc.readyState = 4;
        if (typeof doc.onreadystatechange == "function")
         doc.onreadystatechange();
      }, false);
     }
      
     return doc;
   }
   if (window.ActiveXObject)
     return new ActiveXObject(getControlPrefix() + ".XmlDom");
  }
  catch (ex) {}
  throw new Error("Your browser does not support XmlDocument objects");
};

b.不同版本的IE和Windows安装着不同版本的MSXML分析器

解决:
function getControlPrefix() {
  if (getControlPrefix.prefix)
   return getControlPrefix.prefix;
 
  var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
  var o, o2;
  for (var i = 0; i < prefixes.length; i++) {
   try {
     // try to create the objects
     o = new ActiveXObject(prefixes[i] + ".XmlHttp");
     o2 = new ActiveXObject(prefixes[i] + ".XmlDom");
     return getControlPrefix.prefix = prefixes[i];
   }
   catch (ex) {};
  }
 
  throw new Error("Could not find an installed XML parser");
}


眼下AJAX炒的很火,它是javascript和xml的技术结合,异步交互、JavaScript脚本和XML封装数据是AJAX的三大特征。xmlhttp是ms几年前就有的技术了,近年也有不少相近的架构,下篇我们将重点了解异步交互。

转载于:https://www.cnblogs.com/Truly/archive/2005/08/31/226645.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值