本示例主要演示如何操作XMLHttpRequest.....
XMLHttpRequest 簡介
要真正實現這種絢麗的奇跡,必須非常熟悉一個 JavaScript 對象,即 XMLHttpRequest
。這個小小的對象實際上已經在幾種浏覽器中存在一段時間了,它是本專欄今後幾個月中要介紹的 Web 2.0、AJax 和大部分其他內容的核心。為了讓您快速地大體了解它,下面給出將要用於該對象的很少的幾個 方法和屬性。
open()
:建立到服務器的新請求。
send()
:向服務器發送請求。
abort()
:退出當前請求。
readyState
:提供當前 Html 的就緒狀態。
responseText
:服務器返回的請求響應文本。 客戶端Html代碼(test.htm):
<script language="Javascript" type="text/Javascript">
var XMLHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
XMLHttp = false;
}
}
}
if (!XMLHttp)
alert("Error initializing XMLHttpRequest!");
function getCustomerInfo() {
var phone = document.getElementById("QQ").value;
var url = "demo2.ASP?QQ=" + escape(phone);
XMLHttp.open("GET", url, true);
XMLHttp.onreadystatechange = updatePage;
XMLHttp.send(null);
}
function updatePage() {
if (XMLHttp.readyState == 4) {
if (XMLHttp.status == 200) {
var response = XMLHttp.responseText.split("|");
document.getElementById("message").innerHtml = '號碼是:' + response[0] + '<br>姓名是:' + response[1] + '<br>性別是:' + response[2] + '<br>職務是:' + response[3];
alert("響應服務完成!");
}
else if (XMLHttp.status == 404) {
alert('請求的網址不存在!');
}
else {
alert('錯誤:錯誤代碼為:' + XMLHttp.status);
}
}
}
</script>
<input id="QQ" type="text" />
<div id="message">請嘗試輸入我的QQ號碼:178010108,會看到返回的詳細資料.</div>
服務端程序代碼(demo2.ASP):
<%
Response.ContentType = "text/XML"
Response.CharSet = "GB2312"
if request("QQ") = "178010108" then
response.write "178010108|阿裡西西|男|ASP技術,歡迎訪問<a href=www.alixixi.com>阿裡西西</a>"
else
response.write "這個QQ號碼是空號哦"
end if
%>