建立XMLHttpRequest对象
2013-01-24 22:01
239 查看
<script type ="text/javascript" language ="javascript" >
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
var req; //定义变量,用来创建xmlhttprequest对象
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function creatReq() // 创建xmlhttprequest,ajax开始
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
var url="ajaxServer.aspx"; //要请求的服务端地址
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req=new XMLHttpRequest();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req=new ActiveXObject("Microsoft.XMLHttp");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req) //成功创建xmlhttprequest
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.onreadystatechange = callback; //指定回调函数
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.send(null); //发送请求
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function callback() //回调函数,对服务端的响应处理,监视response状态
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req.readystate==4) //请求状态为4表示成功
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req.status==200) //http状态200表示OK
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Dispaly(); //所有状态成功,执行此函数,显示数据
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else //http返回状态失败
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
alert("服务端返回状态" + req.statusText);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else //请求状态还没有成功,页面等待
![](http://www.cnblogs.com/Images/dot.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
document .getElementById ("myTime").innerHTML ="数据加载中
![](http://www.cnblogs.com/Images/dot.gif)
";
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function Dispaly() //接受服务端返回的数据,对其进行显示
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
document .getElementById ("myTime").innerHTML =req.responseText;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
</script>
附:
一、XMLHttpRequest 对象的方法与属性
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
var req; //定义变量,用来创建xmlhttprequest对象
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function creatReq() // 创建xmlhttprequest,ajax开始
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
var url="ajaxServer.aspx"; //要请求的服务端地址
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req=new XMLHttpRequest();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req=new ActiveXObject("Microsoft.XMLHttp");
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req) //成功创建xmlhttprequest
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.onreadystatechange = callback; //指定回调函数
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
req.send(null); //发送请求
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function callback() //回调函数,对服务端的响应处理,监视response状态
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req.readystate==4) //请求状态为4表示成功
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(req.status==200) //http状态200表示OK
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Dispaly(); //所有状态成功,执行此函数,显示数据
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else //http返回状态失败
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
alert("服务端返回状态" + req.statusText);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else //请求状态还没有成功,页面等待
![](http://www.cnblogs.com/Images/dot.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
document .getElementById ("myTime").innerHTML ="数据加载中
![](http://www.cnblogs.com/Images/dot.gif)
";
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
function Dispaly() //接受服务端返回的数据,对其进行显示
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
document .getElementById ("myTime").innerHTML =req.responseText;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
</script>
附:
一、XMLHttpRequest 对象的方法与属性
方 法 | 描 述 |
abort() | 停止当前请求 |
getAllResponseHeaders() | 把HTTP请求的所有响应首部作为键/值对返回 |
getResponseHeader("header") | 返回指定首部的串值 |
open("method", "url") | 建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选的参数 |
send(content) | 向服务器发送请求 |
setRequestHeader("header", "value") | 把指定首部设置为所提供的值。在设置任何首部之前必须先调用open() |
属 性 | 描 述 |
onreadystatechange | 每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数 |
readyState | 请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成 |
responseText | 服务器的响应,表示为一个串 |
responseXML | 服务器的响应,表示为XML。这个对象可以解析为一个DOM对象 |
status | 服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等) |
statusText | HTTP状态码的相应文本(OK或Not Found(未找到)等等) |
相关文章推荐
- 建立XMLHttpRequest对象
- XMLHttpRequest的简单认识和原始JS建立该对象方法
- ajax XMLHttpRequest 对象建立
- js建立XMLHttpRequest对象及其属性和方法
- 建立XMLHttpRequest对象
- 建立XMLHttpRequest对象
- AJAX之建立XMLHttpRequest对象
- 详解AJAX核心 —— XMLHttpRequest 对象 (上)
- XMLHttpRequest 对象
- XMLHttpRequest对象的属性和方法
- XMLHttpRequest对象的属性、事件和方法
- Alax技术实现的基本原理——XMLHttpRequest对象的使用
- XMLHTTPRequest对象不能跨域获取数据?!
- 解析ajax核心XMLHTTPRequest对象的创建与浏览器的兼容问题
- XMLHttpRequest对象的方法和属性
- JavaScript XMLHttpRequest 对象
- Ajax XMLHttpRequest对象的三个属性以及open和send方法
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (二)
- AJAX - 创建 XMLHttpRequest 对象
- 如何创建XMLHTTPRequest对象