XMLHttpRequest简介
2008-03-07 13:34
344 查看
一、XMLHttpRequest 对象的方法与属性
二 例子
客户端:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>xmlhttprequest ajax demo</title>
<script type ="text/javascript" language ="javascript" >
var req; //xmlhttprequest对象变量
function getHttpRequest()...{
if(window.XMLHttpRequest) //非IE浏览器,用xmlhttprequest对象创建
...{
req=new XMLHttpRequest();
}
else if(window.ActiveXObject) //IE浏览器用activexobject对象创建
...{
req=new ActiveXObject("Microsoft.XMLHttp");
}
return req;
}
function post()
...{
var url="ajax.aspx"; //服务端的相对地址
req = getHttpRequest();
if(req) //成功创建xmlhttprequest
...{
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callResponse; //指定回调函数
req.send(null); //发送请求
}
}
function callResponse() //回调函数,对服务端的响应处理,监视response状态
...{
if(req.readyState == 4) //请求状态为4表示成功
...{
if(req.status == 200) //http状态200表示OK
...{
document .getElementById ("zone").innerHTML = req.responseText;
}
else //http返回状态失败
...{
alert("服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
...{
document .getElementById ("zone").innerHTML ="数据加载中";
}
}
</script>
</head>
<body>
<div id="zone"></div>
<input id="Button1" type="button" value="XmlHttpRequest Example" onclick ="post();"/>
</body>
</html>
服务端:
新建ASP.NET工程,添加以下代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Ajax : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
System.Threading.Thread.Sleep(1000); //为了看到ajax效果,将当前线程延时1000毫秒
Response.Write(DateTime.Now.ToString()); //输出当前时间
}
}
三 测试
http://localhost:1966/WebSite2/Ajax.html,一切正常。
参考/article/4808405.html
方 法 | 描 述 |
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(未找到)等等) |
客户端:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>xmlhttprequest ajax demo</title>
<script type ="text/javascript" language ="javascript" >
var req; //xmlhttprequest对象变量
function getHttpRequest()...{
if(window.XMLHttpRequest) //非IE浏览器,用xmlhttprequest对象创建
...{
req=new XMLHttpRequest();
}
else if(window.ActiveXObject) //IE浏览器用activexobject对象创建
...{
req=new ActiveXObject("Microsoft.XMLHttp");
}
return req;
}
function post()
...{
var url="ajax.aspx"; //服务端的相对地址
req = getHttpRequest();
if(req) //成功创建xmlhttprequest
...{
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callResponse; //指定回调函数
req.send(null); //发送请求
}
}
function callResponse() //回调函数,对服务端的响应处理,监视response状态
...{
if(req.readyState == 4) //请求状态为4表示成功
...{
if(req.status == 200) //http状态200表示OK
...{
document .getElementById ("zone").innerHTML = req.responseText;
}
else //http返回状态失败
...{
alert("服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
...{
document .getElementById ("zone").innerHTML ="数据加载中";
}
}
</script>
</head>
<body>
<div id="zone"></div>
<input id="Button1" type="button" value="XmlHttpRequest Example" onclick ="post();"/>
</body>
</html>
服务端:
新建ASP.NET工程,添加以下代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Ajax : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
System.Threading.Thread.Sleep(1000); //为了看到ajax效果,将当前线程延时1000毫秒
Response.Write(DateTime.Now.ToString()); //输出当前时间
}
}
三 测试
http://localhost:1966/WebSite2/Ajax.html,一切正常。
参考/article/4808405.html
相关文章推荐
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- [转]XMLHTTPRequest的属性和方法简介
- <Web> XmlHttpRequest简介
- XMLHttpRequest Ajax 实例简介
- XMLHTTPRequest的属性和方法简介
- Web2.0:AJAX的使用(XMLHttpRequest简介)
- [转]XMLHTTPRequest的属性和方法简介
- XMLHttpRequest Ajax 实例简介
- XMLHTTPRequest的属性和方法简介
- XMLHttpRequest简介(什么是XMLHttpRequest)
- XMLHttpRequest简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介[转帖]
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHttpRequest 对象简介
- XMLHttpRequest Ajax 实例简介
- [转]XMLHTTPRequest简介