0 0

IE不同版本浏览器对Microsoft.XMLHTTP的处理的问题5

 

 请教各位一个问题,在不同版本、不同系统下的浏览器在处理ajax请求的的问题。

环境:

      1、XMLHttpRequest全局唯一由util.getAjaxObj提供

      2、调用initPara函数

 

现象:

在win7 ie8下ajaxRespose函数被调用了1次

在win7 ie9ajaxRespose函数被调用了1次

在win7 ie10ajaxRespose函数被调用了1次

在win8 ie10ajaxRespose函数被调用了2次

在win server 2012 ie10ajaxRespose函数被调用了2次

 

这段代码是有问题的,个人觉得在win8和server2012下反应的现象才是准确的,但是不知道为在win7下是这样。求帮忙解疑!!!

 

util.getAjaxObj = function() {
	var xmlhttp;
	window.status = '';
	if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		alert("hi");
	} else if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
};


var xmlhttp = null;//ajax xmlhttp

function initPara() {
	fun1();
	fun2();
}
/*
*请求需要处理返回结果
*/
function fun1() {
	var url = "/test!func1.action";
	if (xmlhttp == null) {
		xmlhttp = util.getAjaxObj();
	}

	xmlhttp.open("POST", url, false);
	xmlhttp.setRequestHeader("Content-type",
					"application/x-www-form-urlencoded");
	xmlhttp.onreadystatechange = ajaxRespose;
	xmlhttp.send(null);

	function ajaxRespose() {
		if (xmlhttp.readyState == 4) {
			var res = xmlhttp.responseText;
                        alert(res);
		}
	}
}

/*
*不需要处理返回结果
*/
function fun2() {
	var url = "/test!func2.action";
	if (xmlhttp == null) {
		xmlhttp = util.getAjaxObj();
	}

	xmlhttp.open("POST", url, false);
	xmlhttp.setRequestHeader("Content-type",
					"application/x-www-form-urlencoded");
	xmlhttp.send(null);
}

 

 

2014年5月19日 16:31

1个答案 按时间排序 按投票排序

0 0

为什么不用jquery ajax封装好的方法呢?

2014年5月19日 16:43

相关推荐

    获取百度网络时间,Microsoft.XMLHTTP实例

    然而,在与老版本IE兼容或使用VBA、VBScript等脚本语言时,Microsoft.XMLHTTP仍然是一个有效的选择。 总结来说,通过Microsoft.XMLHTTP对象获取网络时间是一种古老的客户端编程技术,它利用HTTP协议与服务器进行...

    XMLHTTP对象参考手册

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    xmlhttp对象_VC中调用XMLHTTP对象访问

    在这种背景下,微软提供了ActiveX控件版本的XMLHTTP对象,可以通过COM(Component Object Model)接口被其他编程语言调用,包括C++。 #### 在VC中调用XMLHTTP对象 Visual C++(VC)作为一款广泛使用的C++集成开发...

    javascript解决浏览器兼容性问题

    本文将详细介绍如何使用JavaScript解决浏览器兼容性问题,特别是针对XMLHttpRequest对象的创建及对不同版本IE浏览器的识别。 #### 二、XMLHttpRequest对象的兼容性创建 XMLHttpRequest对象是用于执行异步请求的...

    Ajax原理分析及其实现的简单代码

    var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2....

    XMLHttp中文参考手册.rar

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    支持多种浏览器创建XMLHttpRequest对象代码

    特别是在处理Ajax请求时,如何优雅地在不同浏览器(尤其是IE与其他现代浏览器)间创建并使用`XMLHttpRequest`对象显得尤为重要。本文将围绕这一主题进行深入探讨。 #### 一、XMLHttpRequest简介 `XMLHttpRequest`...

    XMLHTTP.CHM

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    XMLHTTP多浏览器兼容性写法

    本文将讨论XMLHTTP多浏览器兼容性写法,解决XMLHTTP在不同浏览器中的兼容性问题。 在过去,使用XMLHTTP时,我们通常需要根据浏览器的类型来选择不同的创建方式。例如,在IE浏览器中,我们使用ActiveXObject来创建...

    XMLHTTP对象参考

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    XmlHttp对象参考

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 <br>现在的绝对多数浏览器都增加了对XmlHttp的支持,IE...

    易语言-易语言xmlhttp各版本速度比较

    XMLHTTP是Microsoft ActiveX组件的一部分,通常包含在不同的Microsoft Internet Explorer版本或Microsoft XML (MSXML) 库中。在易语言中,我们可以利用这些组件进行异步HTTP请求,获取远程服务器的数据,而无需用户...

    XmlHttp中文参考手册

    XmlHttp中文参考手册 ...现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。

    ajax经典实例大全1,参看源码附件。。。。。。

    ajax经典实例大全1 <!... function loadXMLDoc() ... if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open

    获取IE浏览器的版本号的资源

    在IT行业中,尤其是在Web开发领域,了解用户使用的浏览器版本至关重要,因为不同的浏览器版本可能对网页的渲染和功能支持存在差异。对于Internet Explorer(IE)浏览器,由于其在历史上有过多个版本,开发者经常需要...

    不同浏览器创建XMLHttpRequest,兼容各种浏览器(王兴魁老师视频笔记)

    总结起来,创建XMLHttpRequest对象并实现跨浏览器兼容性是一项关键任务,它涉及到对各种浏览器特性的理解和适配。通过学习王兴魁老师的课程,开发者可以深入掌握这一技术,并在实际项目中灵活运用,提升用户体验。在...

    AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器

    本文将深入探讨如何创建XMLHTTP对象,这是AJAX的核心组成部分,以及如何针对不同的浏览器,尤其是IE和Mozilla浏览器,进行兼容性处理。 首先,XMLHTTP对象是实现AJAX通信的基础,它负责发送异步HTTP请求到服务器,...

    XMLHTTP参考(HTML格式)

    在旧版本的IE中,可能需要使用`new ActiveXObject("Microsoft.XMLHTTP")`或`new ActiveXObject("Msxml2.XMLHTTP.3.0")`。 2. **初始化请求**:使用`open()`方法来初始化一个HTTP请求。它接受三个参数:请求类型...

    e语言-Ajax XmlHttp对象参考手册

    客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。 现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用...

    创建XMLHttpRequest对象

    如果创建失败,则尝试创建`Microsoft.XMLHTTP`版本的对象,这通常用于更早版本的IE。 #### 实现示例 基于以上分析,我们可以将上述方法封装成一个函数,以便在不同的浏览器环境下创建`XMLHttpRequest`对象: ```...

Global site tag (gtag.js) - Google Analytics