2024年6月20日发(作者:)
维普资讯
ASP中AJAX技术的应用
文章编号:1003—5850(20O7)05—0052—02
ASP中AJAX技术的应用
Application of AJAX Technology in ASP
蒋银珍
(苏州大学 苏州 215006)
【摘 要】AJAX(Asynchronous Javascript and XML,异步Java Script与可扩展标记语言)将现有的多种技术
进行结合,成为构建动态web应用的一种新方法。使用AJAX技术可实现对web页面快速更新而无需重载页
面。文章以“用户注册”为实例,探讨了基于ASP的web应用程序中如何使用AJAX。
【关键词】异步,可扩展标记语言,文档对象模型,XMI HttpRequest对象
中图分类号:TP311 文献标识码:A
ABSTRACT AJAX(Asynchronous Javascript and XMI )is a new way of combining a number of existing technologies tO build
dynamic web applications.By using AJAX technologies,web applications are able tO make quick updates tO the user interface
without reloading the entire browser page.This paper gives a sample of how tO use AJAX in web application based on ASP by
User Register .
KEYWORDS asynchronous,extensible markup language(XML),document object model(DOM),XMI HttpRequest Object
AJAX其实是多种技术的综合。使用AJAX技术
可以开发出高度交互的Web应用程序。例如:在传统
web应用程序的用户注册页面中,用户依次输入表单
中的用户名、密码、邮政编码、通讯地址等信息后,单击
“提交”按钮,将表单中的数据提交给表单处理程序以
实现页面交换,此时,用户一般是中断操作,耐心等待
表单处理程序的执行。如果遇到用户名已经存在的情
况,注册页面重新装载,用户不得不重新输入一系列信
息再次提交。而使用AJAX技术则能很好地解决此类
用户重新输入再提交;否则打开数据库,用SQL语句
将信息写入数据库中。
2使用AJAX技术的注册页面设计
若希望用户一旦输入完用户名,马上让服务器判
断该用户名是否存在,以便用户修改,可使用AJAX
技术来实现。具体实现过程可分为三步。
①获取XMLHttpRequest对象。
XMLHttpRequest是XMI HTTP组件的对象,通过
问题,它能实现:一旦用户输入完用户名就能判断出该
用户名是否存在,而且不必刷新当前页面。其实AJAX
并不是一种新技术,而是已经成功地用于现代浏览器
这个对象,AJAx可以像桌面应用程序一样只同服务
器进行数据层面的交换,而不用每次都刷新界面,也不
用每次将数据处理的工作都交给服务器来做,这样既
减轻了服务器的负担又加快了响应速度、缩短了用户
等待的时间。
②为XMLHttpRequest对象的
onreadystatechange属性设置一个响应函数。
XMLHttpRequest对象的readyState属性表示客户端
当前得到的服务器端的状态,该状态有4个只读返回
值:
中的若干技术的组合,其结果是以更快的速度,更少的
拥挤和更好的信息传送控制。总之,通过引入AJAX
技术,一个客户端脚本能够异步地与服务器通话,而用
户仍能保持数据的输入。下面以用户注册为例,将传统
设计方法与使用AJAX技术的设计方法作一个对比。
l基于ASP的传统注册页面设计
传统的用户注册功能包括两个文件:表单页面文
件(如Register.HTML)和表单处理程序页面(如
Register.asp)。Register.HTML主要提供用户输入界
面,包括一个表单,内含若干文本框和一个提交按钮。
设置表单的action为Register.asp,method为post。
0(未初始化):对象已建立,但是尚未初始化(尚
未调用open方法)。
1(初始化):对象已建立,尚未调用send方法。
2(发送数据):send方法已调用,但是当前的状
态及http头未知。
Register.asp负责读取表单中的数据信息并进行判
断。如果提交的用户名已经存在,则给出信息,并要求
3(数据传送中):已接收部分数据,因为响应
http头不全,这时通过responseBody和response ̄i、ext
* 2006—1 1-21收到,2007—02—26改回
**蒋银珍,女,1 971年生,硕士,讲师,研究方向:Web软件开发。
维普资讯
第2O卷第5期 电脑开发与应用
获取部分数据会出现错误。
4(完成):数据接收完毕。此时可以通过
responseBody和responseText获取完整的回应数据。
返回值每变化一次,XMLHttpRequest的
onreadystatechange事件将触发并调用响应函数,这
样我们就可以在该函数中根据返回的值来向客户端显
示当前的程序执行状态。XMI HttpRequest的status
属性存放服务器返回的状态码,如:404表示”文件未
找到”;200表示”成功”。而responseText属性存放服
务器进程返回的字符串。
③调用XMLHttpRequest对象的open和send方
法向服务器发出HTTP请求。如:http request.open
(’GET’,URI ,true);
http request.send(nul1);
open的第一个参数是HTTP请求的方法,可以
是Get、Post或者Head;第二个参数是目标URL;第
三个参数指定在等待服务器返回信息的时间内是否继
续执行下面的代码。如果为True,则不会继续执行,直
到服务器返回信息。默认为True。open方法运行后,
数据并没有发送出去,而是等到send运行完后,整个
发送过程才完毕。
使用了AJAX技术的Register.HTML和
Register.asp的代码如下。
Register.HTML文件的关键代码:
<script language一”JavaScript”>
var httprequest—false;
function send
request(ur1){
httprequest=false;
—
if(window.XMLHttpRequest){//创建XMLHTTP
对象,适用于IE
httprequest=new XMLHttpRequest();
if(http
request.overrideMimeType){
http
request.overrideMimeType( text/xml );
)
if(!http
request){
alert( 创建对象失败! )
return false;
}
httprequest.onreadystatechange—processRequest;
http
request.open( GET”,url,true);
http
request.send(nul1);
)
//XMLHttpRequest对象的onreadystatechange事件的
响应函数
function processRequest()
{if(http
request.readyState一一4){//判断服务器端与
客户端交互的状态
if(http
request.status一一200){
//将服务器返回的字符串写到页面中ID为
message的区域
document.getElementByld(’message’).
innerHTML—http
request.responseText;
)
)
)
//文本框TxtUserName的onblur事件的响应函数
function Check()f
vat f=document.forml
var username—f.TxtUserName.value
send
request(’Register.asp?username一’+
username);
)
</script ̄
Register.asp文件的代码:
<
Response.Charset一 gb231 2
username—request.querystring(”username”)
Set Cnn=Server.CreateObject(”AD0DB.Connection”)
StrCnn一”Dbq一”&Server.Mappath(”Info.mdb”)
StrCnn—StrCnn&”;Driver一{Microsoft Access Driver
(*.mdb)}『『
Cnn.0pen StrCnn
sqlstr一”select*from user where UserName一’”&
username&””
Set rs—Cnn.Execute(sqlstr)
if not rs.eof then
response.write 该用户名已经存在!
else
response.write”该用户名可以使用!,,
end if
Cnn.close
>
3结束语
综上所述,使用AJAX技术开发出来的Web应用
程序能减轻服务器的负担,能实现无刷新更新页面,能
带来更好的用户体验。其缺点就是网页的后退功能失
效,更新混淆。因此,在实际应用中,应结合具体情况合
理使用AJAX技术。
参考文献
[1] 唐红亮,王改性,秦戈亮.ASP动态网页设计应用教程
[M3.北京:电子工业出版社,2006.
[2] 郑阿齐.ASP程序设计教程[M].北京:机械工业出版
社,2005・ /
[3] 林义证,黄世阳.HTML&ASP网页制作教程[M].北
京:中国铁道出版社,2000.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718883252a2753254.html
评论列表(0条)