`

创建异步对象的两种方式

    博客分类:
  • ajax
阅读更多

创建兼容浏览器的异步对象

ie6后使用了ActiveObject统一使用了Msxml2.XMLHttp,之前的版本使用的是Microsoft.XMLHttp

ie7之后和firefox都是支持XMLHttpRequest对象的。

可以这么写

			var xmlHttp = false;
			function createXMLHttpRequest(){
				try{
					xmlHttp = new ActiveXObject("Msxml2.XMLHttp");
				}
				catch(e){
					try{
						xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
					}
					catch(e){
						xmlHttp = false;
					}
				}
				if (!xmlHttp && typeof XMLHttpRequest!= 'undefined'){
					xmlHttp = new XMLHttpRequest();
				}
			}
		

 在Ajax基础教程中提供了一种建立方式。

var xmlHttp;
function createXMLHttpRequest(){
	if (window.ActiveXObject){
		xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
	}
	else if (window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
	}
}

 使用版本二的ActionXObject会效率更高。修改为:

if (window.ActiveXObject){
	(xmlHttp = new ActiveXObject("Msxml2.XMLHttp"))||(xmlHttp = new ActiveXObject("Microsoft.XMLHttp"));		
}
else if (window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();
}
 
分享到:
评论

相关推荐

    使用Java异步编程实现一个简单的网络请求.txt

    接下来,我们通过调用executor.submit()方法提交了两个任务,分别对应GET和POST两种HTTP请求方式。这两个任务被封装成Callable对象并返回一个Future对象,用于表示异步计算的结果。 在主线程中,我们通过调用...

    详解XMLHttpRequest(一)同步请求和异步请求

    通过XMLHttpRequest生成的请求可以有两种方式来获取数据,异步模式或同步模式。请求的类型是由这个XMLHttpRequest对象的open()方法的第三个参数async的值决定的。如果该参数的值为false,则该XMLHttpRequest请求以...

    原生JS发送异步数据请求

    这时候无非有两种请求方式,一种是AJAX,另一个是JSONP。通过原生JS对异步请求进行简单的封装。 AJAX  AJAX是一种数据请求方式,不需要刷新整个页面就能够更新局部页面的数据。AJAX的技术核心是XMLHttpRequest对象...

    deadpool-死的简单异步池-Rust开发

    此板条箱提供了两种实现:托管池(deadpool :: managed :: Pool)根据需要创建和回收对象有用用于数据库连接池通过Cargo.toml中的托管功能启用非托管池(deadpool :: unmanaged :: Pool)所有对象都需要由用户创建并...

    objectmq:ObjectMQ 是位于与 AMQP 协议兼容的 Message Queue 中间件之上的轻量级分布式对象层。 它在消息中间件之上提供 1-1(同步、异步)和 1 对多(多)调用抽象

    有两种调用抽象:单播和多播。 单播远程调用(client1、client2)仅由池中的一个服务器处理。 发生这种情况是因为同一对象池中的所有骨架都将使用来自同一队列的消息。 在这种情况下,队列将在现有消费者之间对消息...

    网络编程实用教程(第三版).zip

    2.1.4 套接字编程接口的两种实现方式 25 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 26 2.2 套接字编程的基本概念 27 2.2.1 什么是套接字 27 2.2.2 套接字的特点 28 2.2.3 套接字的应用场合 30 ...

    windows驱动开发技术详解-part2

     本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别是驱动对象和设备对象数据结构。另 外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...

    超级有影响力霸气的Java面试题大全文档

     Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...

    Windows驱动开发技术详解的光盘-part1

     本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别是驱动对象和设备对象数据结构。另外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...

    event-emitter-target:发布订阅事件机制模块使用Typescript函数样式编程写成添加事件监听器有自动去重功能事件触发时,监听器函数异步执行

    创建EventEmitterTarget对象,有两种方法 1.当做函数使用 let emitter = EventEmitterTargetClass ( ) ; 2.当做类使用 class myemitter extends EventEmitterTargetClass { } let emitter = new myemitter ( ) ; ...

    闹钟(ArkTS)源代码

    后台代理提醒:开发应用时,开发者可以调用后台提醒发布的接口创建定时提醒,包括倒计时、日历、闹钟三种提醒类型。使用后台代理提醒能力后,应用可以被冻结或退出,计时和弹出提醒的功能将被后台系统服务代理。本...

    ASP.NET 控件的使用

    8.4.3 使用两种数据绑定表达式 247 8.5 SQL Server 2005 Express 概述 248 8.5.1 SQL Server Express 特性 248 8.5.2 SQL Server 2005 Express管理工具 249 8.5.3 服务器端数据库与本地数据库 250 8.6 数据库驱动的...

    JActor实例及资源包

    Actor的方法有两种:同步的和异步的。异步的方法可以使用异常句柄并且发送消息给其它的Actor,而同步的消息不可以。 异步方法由于引入RP参数(一种用来返回结果的回调)而与众不同。异步方法的返回值通常都是空的...

    ABAP面试大全

    9.2.15什么叫BTE (Business Transaction Event),BTE的两种类型? 28 9.2.16现阶段接口开发使用的技术 29 9.2.17将一个RFM(Remote-Enabled Module)创建一个WEB SERVICE都有什么相关的事务代码? 29 9.2.18 esb使用 ...

    在局域网内多播稳定传送大文件

    在单机操作时,只能选择Mutex方式5)在MultiThreadDemo.exe程序中,点击“创建同步对象”Button6)在MultiThreadDemo.exe程序中,点击“传送文件”Button7)传送完毕后,到接收程序目录下查看是否收到“测试例子.rar...

    《javaScrip开发技术大全》源代码

    • sample02.htm 使用对象直接量创建有方法的自定义对象 • sample03.htm 使用自定义构造函数创建对象 • sample04.htm 使用带参数的构造函数创建对象 • sample05.htm 创建对象时...

    deadpool:使用Async-Await的生锈简单死池实现

    此板条箱提供了两种实现: 托管池( deadpool::managed::Pool ) 根据需要创建和回收对象 对于很有用 通过Cargo.toml的managed功能启用 非托管池( deadpool::unmanaged::Pool ) 所有对象都需要由用户创建并...

    DWR.xml配置文件说明书(含源码)

    Creator可以配置类的成员函数的访问权限.creator有授权访问(指明可以被访问的方法)和拒绝访问(指明不允许访问的方法)两种配置方式. 如果要设置除了setWibble方法之外的所有方法都不可访问可以采用下面的设置. ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    02 什么是异常处理及异常处理的两种方式对比 03 多分支与万能异常 04 异常处理的其他内容 05 什么时候用异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 ...

    JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML

    2、载入XML 载入XML分两种,即: 载入XML字符串:loadXML(xml字符串) 载入xml文件:load(xml文件路径)。默认情况下文件载入是异步的,如果要改为同步把asynce特性改为true即可。异步载入文件时要用到readyState和...

Global site tag (gtag.js) - Google Analytics