XMLHttpRequest Ajax 实例简介
来源:互联网 发布:朝鲜火炮知乎 编辑:程序博客网 时间:2024/05/22 04:26
一、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 实现ajax效果
这里我们用客户端通过XMLHttpRequest 请求服务端获取当前系统时间,实现异步交互!
客户端myAjax.html代码
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>xmlhttprequest ajax demo</title>
<script type ="text/javascript" language ="javascript" >
var req; //定义变量,用来创建xmlhttprequest对象
function creatReq() // 创建xmlhttprequest,ajax开始
{
var url="ajaxServer.aspx"; //要请求的服务端地址
if(window.XMLHttpRequest) //非IE浏览器,用xmlhttprequest对象创建
{
req=new XMLHttpRequest();
}
else if(window.ActiveXObject) //IE浏览器用activexobject对象创建
{
req=new ActiveXObject("Microsoft.XMLHttp");
}
if(req) //成功创建xmlhttprequest
{
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callback; //指定回调函数
req.send(null); //发送请求
}
}
function callback() //回调函数,对服务端的响应处理,监视response状态
{
if(req.readystate==4) //请求状态为4表示成功
{
if(req.status==200) //http状态200表示OK
{
Dispaly(); //所有状态成功,执行此函数,显示数据
}
else //http返回状态失败
{
alert("服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
{
document .getElementById ("myTime").innerHTML ="数据加载中";
}
}
function Dispaly() //接受服务端返回的数据,对其进行显示
{
document .getElementById ("myTime").innerHTML =req.responseText;
}
</script>
</head>
<body>
<div id="myTime"></div>
<input id="Button1" type="button" value="Get Time" onclick ="creatReq();"/>
</body>
</html>
服务端ajaxServer.aspx代码<head>
<title>xmlhttprequest ajax demo</title>
<script type ="text/javascript" language ="javascript" >
var req; //定义变量,用来创建xmlhttprequest对象
function creatReq() // 创建xmlhttprequest,ajax开始
{
var url="ajaxServer.aspx"; //要请求的服务端地址
if(window.XMLHttpRequest) //非IE浏览器,用xmlhttprequest对象创建
{
req=new XMLHttpRequest();
}
else if(window.ActiveXObject) //IE浏览器用activexobject对象创建
{
req=new ActiveXObject("Microsoft.XMLHttp");
}
if(req) //成功创建xmlhttprequest
{
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callback; //指定回调函数
req.send(null); //发送请求
}
}
function callback() //回调函数,对服务端的响应处理,监视response状态
{
if(req.readystate==4) //请求状态为4表示成功
{
if(req.status==200) //http状态200表示OK
{
Dispaly(); //所有状态成功,执行此函数,显示数据
}
else //http返回状态失败
{
alert("服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
{
document .getElementById ("myTime").innerHTML ="数据加载中";
}
}
function Dispaly() //接受服务端返回的数据,对其进行显示
{
document .getElementById ("myTime").innerHTML =req.responseText;
}
</script>
</head>
<body>
<div id="myTime"></div>
<input id="Button1" type="button" value="Get Time" onclick ="creatReq();"/>
</body>
</html>
public partial class ajaxServer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1000); //为了看到ajax效果,将当前线程延时1000毫秒
Response.Write(DateTime .Now .ToString ()); //输出当前时间
}
}
运行效果:{
protected void Page_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1000); //为了看到ajax效果,将当前线程延时1000毫秒
Response.Write(DateTime .Now .ToString ()); //输出当前时间
}
}
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest Ajax 实例简介
- XMLHttpRequest实现Ajax效果实例
- XMLHttpRequest实现Ajax效果实例
- AJAX创建XMLHttpRequest对象实例
- ajax原理 XmlHttpRequest对象 【AJAX 实例】
- XMLHttpRequest Ajax 实例简介 (用此方法可实现JS与SQL连接)
- Ajax漫步(二)XMLHttpRequest 简介
- Web2.0:AJAX的使用(XMLHttpRequest简介)
- AJAX 简介 及 XMLHttpRequest对象的使用方法
- AJAX中创建XMLHttpRequest对象实例
- 力所能及第一步创建ajax的XmlHttpRequest实例
- PooledConnectionHandler 的代码清单
- mapx在vc中画圆code
- 如何提高睡眠质量
- 浅谈面向对象
- 工艺路线导入程序(感谢依风提供)
- XMLHttpRequest Ajax 实例简介
- 正则表达式
- RSA&MD5实现电子签章 这个例子很经典哈
- BAPI--BOM导入(感谢依风提供)
- 让UpdatePanel支持文件上传(5):支持页面重定向的HttpModule
- 最大子串匹配
- 使用spring MVC框架进行文件上传
- 使用 ADSync 集成 IBM Lotus Domino Directory 和 Microsoft Active Directory
- 适于 IBM Lotus Domino 开发人员的 IBM WebSphere portlet 开发