XMLHttpRequest 对象的方法和属性自己可以在网上或者书上自己找,我只说比较重要的或者容易错的地方,其他我就不翻译或者粘贴了。
onreadystatechange属性,每当状态改变时这个事件处理器就会被调用,通常是调用一个JavaScript函数
(例如
xmlHttp.onreadystatechange = handleStateChange;
是当状态发生改变时就调用handleStateChange函数,在该函数内可以通过判断状态值来做各种不同的操作。
)
readyState属性,请求的状态,五个可能的值是0 = 未初始化,1 = 正在加载, 2 = 加载完成, 3 = 交互, 4 = 完成。
responseText属性,以字符串的形式返回服务器的相应。
responseXML属性,以XML形式返回服务器的响应。这个对象可以作为一个DOM对象被分析和检测。
status属性,来自服务器的HTTP状态码(200代表 OK, 404代表 NOT FOUND,等等)
使用XMLHttpRequest对象发送请求的基本步骤如下:
1.获得一个XMLHttpRequest实例的引用,既可以通过创建一个新的也可以通过读取一个XMLHttpRequest实例的变量。
2.告诉XMLHttpRequest对象那个将会处理XMLHttpRequest对象状态变化的函数。你通过使用一个指向JavaScript函数的指针设置这个对象的onreadystatechange属性来完成。
3.分配请求的属性。XMLHttpRequest对象的open()方法,该方法有三个参数,一个字符串指示提交的方式(常常是GET或者POST),一个代表目的资源的URL的字符串,和一个布尔值指示请求是否应该是异步的方式。
4. 向服务器发送请求。XMLHttpRequest对象的send()方法把请求传输到指定的目的资源。send()方法接受一个参数,这个参数常常是字符 串或者DOM对象。这个对象是作为请求体的一部分被传送到目的URL的。当提供一个参数给send()方法时,一定要确定open()方法被赋予 POST。当没有数据被作为请求体的一部分被发送时使用null。
simplepage.html<html><head>
<title>Sample Page</title>
<script language="JavaScript" type="text/javascript">
var xmlhttp = null;
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
GetIt('books.xml')
}
function GetIt( url) {
if( xmlhttp) {
xmlhttp.open('GET', url, false);
xmlhttp.send(null);
document.getElementById('result').innerHTML = xmlhttp.responseText;
document.getElementById('httpcode').innerHTML = xmlhttp.status;
document.getElementById('httpstatus').innerHTML = xmlhttp.statusText;
document.getElementById('result').innerHTML = xmlhttp.responseText;
document.getElementById('xmlresult').innerHTML = xmlhttp.responseXML;
}
}
</script>
</head>
<body>
<button onclick="createXMLHttpRequest()">Get a document</button>
<p>
<table border="1">
<tr><td>Document</td><td><span id="result">No Result</span></td></tr>
<tr><td><span id="httpcode"> httpcode</span></td><td>httpcode</td></tr>
<tr><td><span id="httpstatus"> httpstatus</span></td><td>httpstatus</td</tr>
<tr><td><span id="xmlresult"> xmlresult</span></td><td>xmlresult</td</tr>
</table>
</p>
</body>
</html>
books.xml
<?xml version="1.0" encoding="UTF-8"?>
<User>
<Book>
<ISBN>1-59059-540-8</ISBN>
<Title>Foundations of Object Oriented
Programming Using .NET 2.0 Patterns</Title>
<Author>Christian Gross</Author>
</Book>
<Book>
<ISBN>0-55357-340-3</ISBN>
<Title>A Game of Thrones</Title>
<Author>George R.R. Martin</Author>
</Book>
</User> Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1189707