`

创建异步对象的两种方式

    博客分类:
  • 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();
}
 
分享到:
评论

相关推荐

    使用IAsyncResult 对象的异步操作与使用事件的异步操作

    下面将详细介绍这两种方法,并给出示例代码。 #### IAsyncResult 接口 `IAsyncResult`是一个公共接口,用于表示异步操作的结果。该接口定义了以下四个成员: 1. **AsyncState**:一个对象,用于保存异步操作的...

    QML中动态创建组件(同步/异步)的方法

    以下是两种主要的动态创建组件的方法: 1. 使用`Loader`组件: `Loader`组件是QML中最直接用于动态加载和管理其他QML组件的工具。通过指定`source`属性,你可以决定要加载哪个QML文件。当`Loader`加载完成后,它的...

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

    如果两种方式都失败,则将`xmlHttp`设置为`false`,表示创建失败。 #### 四、非IE浏览器下的处理 对于非IE浏览器,可以简单地通过`new XMLHttpRequest()`来创建对象。需要注意的是,这种方法在IE浏览器中会抛出...

    _java中异步socket类的实现和源代码.doc

    在 MySocketClientEx 类中,我们需要实现 start 方法,创建异步 socket 对象,并传递接口类到异步 socket 对象中。这样,我们可以在异步 socket 对象中回调我们的方法。 异步 Socket 服务器实现: 在异步 socket ...

    用WebService进行异步通信

    在.NET框架中,提供了异步通信的支持机制,可以通过以下两种方式进行实现: ##### 方法一:使用`Begin`和`End`方法实现异步调用 这种方法是.NET SDK中推荐的方式之一。具体步骤如下: 1. **创建WebService代理...

    C# 命名管道 异步通信的例子

    另一种方式可能是使用`async/await`,这样可以更简洁地编写异步代码,提高代码可读性。 3. **AppOne与AppTwo**:这两个应用分别代表了命名管道通信的两端。AppOne作为服务器端,初始化管道并监听连接,当客户端连接...

    C# 同步与异步读写

    C#作为微软开发的面向对象的编程语言,提供了丰富的API和特性来支持这两种操作模式。本篇文章将深入探讨C#中的同步与异步读写,并结合“第一次实验(同步与异步读写)”的实践案例进行解析。 首先,我们要理解同步...

    Unity3D之异步加载与进度条

    这两种方法加载的方式完全一样,都是异步加载新游戏场景。 同步加载与异步加载 同步加载是一种阻塞式的加载方式,例如使用 Application.LoadLevel 方法加载游戏场景。这种方式会阻塞游戏进程,直到加载完成。 ...

    wcf服务端异步程序

    在WCF中,服务端异步操作通常通过两种方式实现: - **Begin/End方法对**:这是.NET Framework早期推荐的方式,通过定义两个方法,一个用于启动异步操作(BeginXXX),另一个用于获取结果并结束操作(EndXXX)。 -...

    C#异步调用

    在.NET框架中,特别是ASP.NET中,异步Web方法是处理长时间运行操作的一种高效方式。这种技术允许Web服务执行耗时的任务而不阻塞主线程,从而提高系统的响应性和吞吐量。 异步Web方法通过以下三个主要步骤来实现: ...

    winform 异步调用远程对象方法源码

    在.NET中,异步编程主要基于两种模式:基于回调的异步编程(如BeginInvoke/EndInvoke)和任务并行库(TPL)中的async/await。对于WinForm应用,通常推荐使用async/await模式,因为它提供了更好的可读性和维护性。 1...

    使用异步方式查询数据库记录 编程小实例

    在编程领域,异步操作是一种优化程序性能的重要技术,特别是在处理I/O密集型任务时,如查询数据库记录。异步编程允许程序在等待某个操作完成(例如,从数据库读取数据)的同时,继续执行其他任务,提高了程序的响应...

    C#语言 异步访问数据库

    异步数据库访问主要通过两种方式实现:异步方法(如`.BeginExecuteReader()`)和`async/await`关键字。在这个示例中,我们看到了使用异步方法的方式。在`button2_Click`事件处理程序中,创建了一个`SqlConnection`...

    Ajax 对象 包含post和get两种异步传输方式

    文档中提到了Ajax对象中包含的两种主要的HTTP请求方式:GET和POST。 GET请求的主要特点包括:简单、快速和有限的数据传输能力。它通常用于从服务器获取数据,请求的数据会被附加在URL的后面,形成一个查询字符串。...

    Nodejs让异步变成同步的方法

    在这个示例中,我们创建了两个Promise对象,分别用于模拟登录请求和获取用户信息的异步操作。然后,我们使用co函数包裹了一个生成器函数,在生成器函数内部,我们通过yield关键字等待了这两个异步操作的结果。这样,...

    C#TCP/IP同步和异步通信

    本文将深入探讨如何在C#编程环境中实现TCP/IP的同步和异步通信,并结合提供的“WindowsInternetServer”压缩包文件,讲解如何封装这两种通信方式。 首先,TCP/IP同步通信是指在发送数据前,必须等待接收方确认接收...

    AJAX同步或异步流程图

    首先,我们来看同步和异步这两种通信方式的区别: 1. **同步通信**:在同步模式下,浏览器会阻塞其他所有脚本执行,直到当前的AJAX请求完成。这意味着用户无法进行任何其他操作,直到请求返回结果。这种方式虽然...

    jQuery json创建投票系统_异步投票代码

    在IT行业中,jQuery和JSON是两个非常重要的技术概念,它们在网页开发,特别是前端交互方面起着关键作用。本文将详细解析如何利用jQuery和JSON来创建一个投票系统,并且会探讨异步投票代码的工作原理。 首先,jQuery...

    浅析异步调用的ppt

    Web服务的异步实现主要涉及两种方式:同步调用和异步调用。异步调用在服务器端能够提高资源利用率,避免因为单个请求阻塞其他请求的处理。在客户端,使用异步调用可以保持用户界面的响应性。 【Remoting】是.NET ...

    c# FTP操作类上传、异步上传文件、下载

    文件下载也支持同步和异步两种方式。同步方式下,可以使用`FtpWebRequest`对象调用`DownloadFile`或`DownloadData`方法直接下载文件。异步方式则通过`BeginDownloadFile`或`BeginDownloadData`方法启动下载过程,并...

Global site tag (gtag.js) - Google Analytics