`
foryougeljh
  • 浏览: 116407 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

创建XMLHttpRequest对象

 
阅读更多

获取 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对象的方法.rar"包含了一份关于如何创建XMLHttpRequest对象的详细教程,其核心内容可以从以下几个方面来理解: 1. **XMLHttpRequest对象的创建** 在JavaScript中,XMLHttpRequest...

    Ajax 创建XMLHttpRequest对象,兼容所有主流浏览器(IE5除外)

    一般网上流传的创建XMLHttpRequest对象比较简单。跨浏览器能力非常有限。并不全面。 经测试,用此方法创建XMLHttpRequest对象,在运用AJAX的时候,可以的兼容IE6,IE7,IE8,Opera,Safari,Google Chrome,fireFox。主流...

    用js创建XMLHttpRequest对象池

    创建XMLHttpRequest对象池的步骤如下: 1. **初始化对象池**:在应用程序启动时,预先创建一定数量的XHR对象,并将它们存储在一个数组中。例如: ```javascript const xhrPool = []; for (let i = 0; i ; i++) {...

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

    ### 支持多种浏览器创建XMLHttpRequest对象代码 随着Web技术的发展与演进,跨浏览器兼容性一直是前端开发者面临的重要挑战之一。特别是在处理Ajax请求时,如何优雅地在不同浏览器(尤其是IE与其他现代浏览器)间...

    WEB开发 之 AJAX - 创建 XMLHttpRequest 对象.docx

    在JavaScript中创建XMLHttpRequest对象非常简单,一般有两种方式: 1. 对于现代浏览器(IE7+、Firefox、Chrome、Safari和Opera): ```javascript var xmlhttp = new XMLHttpRequest(); ``` 2. 对于较老版本的...

    使用XMLHttpRequest对象.doc

    在使用 XMLHttpRequest 对象发送请求和处理响应之前,必须先用 JavaScript 创建一个 XMLHttpRequest 对象。由于 XMLHttpRequest 不是一个 W3C 标准,所以可以采用多种方法使用 JavaScript 来创建 XMLHttpRequest 的...

    XMLHttpRequest对象的介绍和实现

    - **实例化XMLHttpRequest对象**:根据不同的浏览器环境,选择合适的方式来创建XMLHttpRequest对象。 - **设置请求类型**:定义请求方法(GET、POST等)。 - **指定请求URL**:定义要发送请求的目标服务器地址。 - *...

    ajax 入门基础之 XMLHttpRequest对象总结

    创建XMLHttpRequest对象有两种方式,一种是针对Internet Explorer浏览器,使用ActiveXObject: ```javascript http_request = new ActiveXObject("Msxml2.XMLHTTP"); http_request = new ActiveXObject("Microsoft....

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

    本主题主要关注如何在不同的浏览器环境中创建XMLHttpRequest对象,以实现跨浏览器兼容性。 王兴魁老师是一位知名的IT教育专家,他在传智播客的课程中深入讲解了这一主题。创建XMLHttpRequest对象是AJAX的核心步骤,...

    XMLHttpRequest对象的创建和使用

    **创建XMLHttpRequest对象** 在JavaScript中,XMLHttpRequest对象不是内置在全局作用域内的,而是通过构造函数来创建的。你可以直接通过`new XMLHttpRequest()`来创建一个新的实例。例如: ```javascript var xhr ...

    全面剖析XMLHttpRequest对象.txt

    在现代浏览器中,可以通过以下方式创建XMLHttpRequest对象: ```javascript var xhr = new XMLHttpRequest(); ``` 如果是在Internet Explorer 5或6中,则可能需要使用ActiveX对象的方式创建: ```javascript var ...

    VS2008 AJAX控件介绍 AJAX组成及XMLHttpRequest对象

    创建XMLHttpRequest对象后,可以调用其open()方法指定HTTP请求类型(GET或POST)、URL以及是否异步执行。接着,使用send()方法发送请求,如果请求是异步的,当服务器响应时,onreadystatechange事件会被触发,此时...

    全面剖析XMLHttpRequest对象

    创建XMLHttpRequest对象通常通过JavaScript的`new XMLHttpRequest()`语句完成。 **二、发送HTTP请求** 发送HTTP请求主要涉及`open()`和`send()`两个方法。`open()`方法接受三个参数:请求类型(GET、POST等)、URL...

    XMLHttpRequest对象手册.pdf

    需要注意的是,在Internet Explorer 5 和 IE 6 中,由于这些浏览器使用的是ActiveX对象模型,因此创建XMLHttpRequest对象的方法有所不同,需通过`new ActiveXObject()`来创建。 #### 四、W3C标准化 虽然...

    AJAX – 创建 XMLHttpRequest 对象

    AJAX – 创建 XMLHttpRequest 对象 XMLHttpRequest 是 AJAX 的基础。 XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。 XMLHttpRequest 用于在后台与服务器交换...

    jQuery AJAX XMLHttpRequest对象PPT

    1) 创建XMLHttpRequest对象。 2) 使用open()方法初始化请求,指定HTTP方法、URL和是否异步。 3) 设置请求头(如需要)。 4) 调用send()方法发送请求。对于POST请求,数据作为参数传递。 5) 监听onreadystatechange...

Global site tag (gtag.js) - Google Analytics