获取 XMLHttpRequest对象
使用IE浏览器
IE浏览器使用 MSXML 解析器处理 XML, 根据IE中安装的 JavaScript 技术版本不同,MSXML 实际上有两种不同的版本,因此必须对这两种情况分别编写代码。
在 Microsoft 浏览器上创建 XMLHttpRequest 对象
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
牢牢记住其中的两行代码
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
处理 Mozilla 和非 IE 浏览器
<script language="javascript" type="text/javascript">
var xmlHttp = new XMLHttpRequest();
</script>
var xmlHttp = false;
function createXMLHttp(){
try{
xmlHttp = new ActiveXObject("Mircrosoft.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new XMLHttpRequest();
}
}
}
XMLHttpRequest对象常用方法和属性
void open(string method,string url,boolean asynch,string username,string password)
建立对服务器的调用,前2个参数是必要参数,后几个为可选参数
method:指定调用的方式(GET/POST)
url:指定调用资源的URL
asynch:是否采用异步。默认值为true,true表示采用异步。
最后2个参数允许指定特定的用户和密码
void send(content):向服务器发出请求
如果请求为异步,此方法立即返回,否则直到接到响应为止
可选参数可以是DOM对象实例或串
void setRequestHeader(string header,string value):设定头信息
response.setHeader("Cache-control","no-cache");设置页面不缓存
response.setHeader("pragma","no-cache");设置页面不缓存
此方法必须在调用Open方法之后调用
string getAllResponseHeaders():获取头信息
string getResponseHeader(string header):获取头信息
XMLHttpRequest对象属性
onreadystatechange:
每个状态改变都会触发这个事件处理器,通常是调用javascript回调函数
readyState
:请求状态,0=未初始化 1=正在加载 3=交互中 4=完成
status
:服务器状态码(200 ok,404 not found等)
statusText
:HTTP状态码的相应文本(ok或not found等)。
responseText
:服务器的响应,表示为一个串
responseXML
:服务器的响应,表示为XML
交互示例
function validateEmali(){
createHttpRequest();
var email = document.getElementById("email");
var url = "validate?email="+escape(email.value);
xmlHttp.open("GET",url);
xmlHttp.onreadystatechange = callback;//应在send方法
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState==4
){
if(xmlHttp.status==200
){
//do something
}
}
}
使用XMLHttpRequest对象发送请求的基本步骤
1:创建XMLHttpRequest对象
2:告诉XMLHttpRequest对象的状态发生改变的时候(onreadystatechange)调用哪个函数
3:指定请求属性 XMLHttpRequest对象的Open方法
4:将请求发送个服务器 XMLHttpRequest对象的send方法,send方法可接受1个参数,这个参数
可以作为URL一部分发送个服务器
XMLHttpRequest对象不能请求脚本所在域之外的资源
xmlHttp.open("GET",url);
xmlHttp.onreadystatechange = callback;//应在send方法
xmlHttp.send(null);
if(xmlHttp.readyState==4
){
if(xmlHttp.status==200
){
//do something
}
}
分享到:
相关推荐
本压缩包文件"创建XMLHttpRequest对象的方法.rar"包含了一份关于如何创建XMLHttpRequest对象的详细教程,其核心内容可以从以下几个方面来理解: 1. **XMLHttpRequest对象的创建** 在JavaScript中,XMLHttpRequest...
一般网上流传的创建XMLHttpRequest对象比较简单。跨浏览器能力非常有限。并不全面。 经测试,用此方法创建XMLHttpRequest对象,在运用AJAX的时候,可以的兼容IE6,IE7,IE8,Opera,Safari,Google Chrome,fireFox。主流...
创建XMLHttpRequest对象池的步骤如下: 1. **初始化对象池**:在应用程序启动时,预先创建一定数量的XHR对象,并将它们存储在一个数组中。例如: ```javascript const xhrPool = []; for (let i = 0; i ; i++) {...
### 支持多种浏览器创建XMLHttpRequest对象代码 随着Web技术的发展与演进,跨浏览器兼容性一直是前端开发者面临的重要挑战之一。特别是在处理Ajax请求时,如何优雅地在不同浏览器(尤其是IE与其他现代浏览器)间...
在JavaScript中创建XMLHttpRequest对象非常简单,一般有两种方式: 1. 对于现代浏览器(IE7+、Firefox、Chrome、Safari和Opera): ```javascript var xmlhttp = new XMLHttpRequest(); ``` 2. 对于较老版本的...
在使用 XMLHttpRequest 对象发送请求和处理响应之前,必须先用 JavaScript 创建一个 XMLHttpRequest 对象。由于 XMLHttpRequest 不是一个 W3C 标准,所以可以采用多种方法使用 JavaScript 来创建 XMLHttpRequest 的...
- **实例化XMLHttpRequest对象**:根据不同的浏览器环境,选择合适的方式来创建XMLHttpRequest对象。 - **设置请求类型**:定义请求方法(GET、POST等)。 - **指定请求URL**:定义要发送请求的目标服务器地址。 - *...
创建XMLHttpRequest对象有两种方式,一种是针对Internet Explorer浏览器,使用ActiveXObject: ```javascript http_request = new ActiveXObject("Msxml2.XMLHTTP"); http_request = new ActiveXObject("Microsoft....
本主题主要关注如何在不同的浏览器环境中创建XMLHttpRequest对象,以实现跨浏览器兼容性。 王兴魁老师是一位知名的IT教育专家,他在传智播客的课程中深入讲解了这一主题。创建XMLHttpRequest对象是AJAX的核心步骤,...
**创建XMLHttpRequest对象** 在JavaScript中,XMLHttpRequest对象不是内置在全局作用域内的,而是通过构造函数来创建的。你可以直接通过`new XMLHttpRequest()`来创建一个新的实例。例如: ```javascript var xhr ...
在现代浏览器中,可以通过以下方式创建XMLHttpRequest对象: ```javascript var xhr = new XMLHttpRequest(); ``` 如果是在Internet Explorer 5或6中,则可能需要使用ActiveX对象的方式创建: ```javascript var ...
创建XMLHttpRequest对象后,可以调用其open()方法指定HTTP请求类型(GET或POST)、URL以及是否异步执行。接着,使用send()方法发送请求,如果请求是异步的,当服务器响应时,onreadystatechange事件会被触发,此时...
创建XMLHttpRequest对象通常通过JavaScript的`new XMLHttpRequest()`语句完成。 **二、发送HTTP请求** 发送HTTP请求主要涉及`open()`和`send()`两个方法。`open()`方法接受三个参数:请求类型(GET、POST等)、URL...
需要注意的是,在Internet Explorer 5 和 IE 6 中,由于这些浏览器使用的是ActiveX对象模型,因此创建XMLHttpRequest对象的方法有所不同,需通过`new ActiveXObject()`来创建。 #### 四、W3C标准化 虽然...
AJAX – 创建 XMLHttpRequest 对象 XMLHttpRequest 是 AJAX 的基础。 XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。 XMLHttpRequest 用于在后台与服务器交换...
1) 创建XMLHttpRequest对象。 2) 使用open()方法初始化请求,指定HTTP方法、URL和是否异步。 3) 设置请求头(如需要)。 4) 调用send()方法发送请求。对于POST请求,数据作为参数传递。 5) 监听onreadystatechange...