健壮的AJAX源码学习应用示例
程序员文章站
2022-03-14 10:33:43
本示例主要演示如何操作xmlhttprequest..... xmlhttprequest 简介 要真正实现这种绚丽的奇迹,必须非常熟悉一个 ...
本示例主要演示如何操作xmlhttprequest.....
xmlhttprequest 简介
要真正实现这种绚丽的奇迹,必须非常熟悉一个 javascript 对象,即 xmlhttprequest。这个小小的对象实际上已经在几种浏览器中存在一段时间了,它是本专栏今后几个月中要介绍的 web 2.0、ajax 和大部分其他内容的核心。为了让您快速地大体了解它,下面给出将要用于该对象的很少的几个 方法和属性。
open():建立到服务器的新请求。
send():向服务器发送请求。
abort():退出当前请求。
readystate:提供当前 html 的就绪状态。
responsetext:服务器返回的请求响应文本。
客户端html代码:
<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" onchange="getcustomerinfo()" />
<div id="message">请尝试输入我的qq号码:178010108,会看到返回的详细资料.</div>
服务端程序代码:
<%
response.contenttype = "text/xml"
response.charset = "gb2312"
if request("qq") = "178010108" then
response.write "178010108|阿里西西|男|asp技术"
else
response.write "这个qq号码是空号哦"
end if
%>
xmlhttprequest 简介
要真正实现这种绚丽的奇迹,必须非常熟悉一个 javascript 对象,即 xmlhttprequest。这个小小的对象实际上已经在几种浏览器中存在一段时间了,它是本专栏今后几个月中要介绍的 web 2.0、ajax 和大部分其他内容的核心。为了让您快速地大体了解它,下面给出将要用于该对象的很少的几个 方法和属性。
open():建立到服务器的新请求。
send():向服务器发送请求。
abort():退出当前请求。
readystate:提供当前 html 的就绪状态。
responsetext:服务器返回的请求响应文本。
客户端html代码:
复制代码 代码如下:
<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" onchange="getcustomerinfo()" />
<div id="message">请尝试输入我的qq号码:178010108,会看到返回的详细资料.</div>
服务端程序代码:
复制代码 代码如下:
<%
response.contenttype = "text/xml"
response.charset = "gb2312"
if request("qq") = "178010108" then
response.write "178010108|阿里西西|男|asp技术"
else
response.write "这个qq号码是空号哦"
end if
%>
下一篇: AJAX实践DWR篇
推荐阅读
-
.NET2.0环境下的Ajax选型和应用(提供Demo源码下载)
-
健壮的AJAX源码学习应用示例
-
流行的Ajax应用演示和源码下载
-
详解c#Winform程序的toolStripButton自定义背景应用示例源码
-
HTML 5.1学习之新增的14项特性与应用示例
-
.NET2.0环境下的Ajax选型和应用(提供Demo源码下载)
-
HTML 5.1学习之新增的14项特性与应用示例
-
json转js与js转json以及练习了ajax-xhr/fetch异步通讯以及模块常识,其中Promise状态及Promise中的Fetch API部分暂时还没进行示例学习操作
-
json转js与js转json以及练习了ajax-xhr/fetch异步通讯以及模块常识,其中Promise状态及Promise中的Fetch API部分暂时还没进行示例学习操作
-
详解c#Winform程序的toolStripButton自定义背景应用示例源码