AJAX ActiveXObject

ActiveX控件方便用户在网页中插入各种效果,但是并不是所有浏览器都支持该控件。ActiveX是微软独有的,只有基于IE内核的浏览器才能使用。当出现如上错误,可以将通过该控件创建的对象定义为本地的JavaScript对象。

//判断浏览器是否支持ActiveX控件
if(window.ActiveXObject){
		//支持-通过ActiveXObject的一个新实例来创建XMLHttpRequest对象
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//不支持
else if(window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
}

若提示activexobject没有安装,则在Internet 选项 -> 安全 里进行修改。
在这里插入图片描述
在这里插入图片描述

JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 对象语法有这些部分:
其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称。
Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

链接:https://blog.csdn.net/qwdx1k2/article/details/23209481

其他解决代码:

try {
  	xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
 } catch(e) {
  	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 if(xmlHttp==null)
    xmlHttp = new XMLHttpRequest();
	var xhr;
	//创建XHR对象的函数
	function createXHR() {
		try {
			return new XMLHttpRequest();
		} catch (e) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
//用以创建XMLHttpRequest对象
//下面是兼容多种浏览器的XMLHttpRequest对象的创建方法
//JScript code
var XMLHttp=null;
try{
    XMLHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e) { 
    try { 
        XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
}
if (XMLHttp==null){
    XMLHttp=new XMLHttpRequest();
}
	var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
 var url = "目标地址/xml";
 var asyncDone = false;
 try {
  xmlhttp.open("GET", url, true);
  xmlhttp.onreadystatechange = onReadyStateChange;
  xmlhttp.send(null);
  // loop so that the program from quiting
  while (!asyncDone) {
  		WScript.Sleep(100);
  }
  WScript.Echo(xmlhttp.responseText);
 } catch (e) {
  WScript.Echo(e);
 }
 function onReadyStateChange() {
  WScript.Echo("readyState: " + xmlhttp.readyState);
  if (xmlhttp.readyState == 4) {
  		asyncDone = true;
  }
 }
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
if(xmlHttp==null)
    xmlHttp=new XMLHttpRequest();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值