论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
Ajax技术原理及其在选课系统中的应用
   摘  要  ajax技术是目前深受web用户欢迎的一项技术,它利用javascript、dom、xml和xmlhttprequest实现客户端与服务器的异步交互,达到很好的用户体验。文中介绍的选课系统运用ajax技术,提高了系统的运行效率。     关键词  ajax技术;web服务器;xmlhttprequest;选课系统  

1  引言

    在传统的web应用中,大部分用户动作会触发一个连接到web服务器的http请求,服务器收到请求后要完成诸如验证合法性、计算数据、访问数据库等处理工作,最后返回一个http页面到客户端,这个过程中用户一直处于等待状态。随着web技术的广泛应用,人们对web应用程序提出了更高的要求,web不再简单应用于发布网站,而是成为许多业务处理平台,于是人们更加注重流畅、快捷、人性化的用户体验,为了满足这一需求,一种新的技术出现了,它就是ajax,它使web应用程序继承了桌面应用程序反应灵敏、胖客户端、客户体验优秀等优点。

2  ajax的工作原理

2.1  ajax工作方式

    ajax(asynchronous javascript and xml)技术实际上是在客户端和服务器之间加入一个ajax引擎,它允许采用异步的方式实现客户端与服务器的交互,所以用户不用打开空白窗口等待服务器的响应,而可以继续进行客户端的其它工作。www.11665.cOM服务器响应完毕之后,将结果提交给ajax引擎,ajax引擎使用html和css技术展示给用户。客户端和服务器的这种异步通信,使用户感觉不到客户端与服务器的通信,使得web程序看起来是即时响应的。图1显示了ajax的工作方式。 图1  ajax的工作方式     在传统的web应用中,客户端只是通过浏览器简单的显示内容,所有的信息都保存在服务器上,引入ajax后,它把一部分web应用程序移到了浏览器中,使浏览器中不再是纯粹的内容。用户登录时,浏览器会从服务器下载大量代码,这些代码具有一定的处理用户请求的能力,由它们来决定是否将用户的请求提交给服务器。由于用户的一部分请求可以直接在客户端进行处理,客户端与服务器的通信效率会提高许多。

2.2  ajax关键技术

    ajax技术并不是一种孤立的技术,它是由多种技术综合而成的,这些技术包括:javascript、dom、xml和xmlhttprequest,这些技术按照一定的方式发挥各自的作用构成ajax技术。dom实现动态显示和交互,xml进行数据交换与处理,xmlhttprequest进行异步数据读取,javascript用于邦定和处理所有数据。     1)javascript     javascript是一种基于对象和事件驱动的脚本语言,具有很好的安全性,它通过嵌入在标准的html语言中完成各种与用户交互的任务。ajax利用javascript的特性实现对用户行为的实时响应与处理,javascript还能通过其属性和方法操作dom,将用户请求通过xmlhttprequest对象实现与服务器的异步交互通信。     2)dom     dom(document object model)是一个能够让程序和脚本动态访问和更新文档内容、结构和样式的语言平台,它提供了标准的html和xml对象集,并由一个标准的接口来访问并操作它们。dom是一个树型结构,由元素和节点组成,它是以面向对象的方式描述的对象模型。dom对象分为html dom对象和xml dom对象。     3)xml     xml (extensible markup language) 是可扩展标记语言的缩写,它通常作为数据传输的媒介,服务器采用返回xml文本的方式将响应后的数据返回给客户端。在应用ajax技术时,xmlhttprequest对象可以使用xml作为与服务器端通信的数据格式。     4)xmlhttprequest     xmlhttprequest是ajax技术体系中最为核心的技术,它负责将用户信息以异步方式发送到服务器,并接收服务器返回的响应信息和数据。web应用程序无需刷新页面就可以向服务器提交信息,或从服务器得到应答,这样用户就不会觉察后台向服务器提交和接收数据,而且,客户端也不必每次都将数据处理工作交给服务器来做,这样加快了响应速度,也就缩短了用户的等待时间。

3  ajax在选课系统中的应用

3.1  系统功能分析

    系统按功能划分为三个模块:学生选课模块、教师开课模块、管理员管理模块。如图2所示。各模块功能相对独立,学生选课模块包括修改个人信息和选课。教师开课模块包括修改个人信息、浏览基本课程列表、查看学生选课信息、申请开课。管理员管理模块包括为教师和学生分配帐号密码、注销或修改用户状态、创建课程和指定任课教师、为课程班级设定人数、对学生选课信息进行统计、通知学生和老师选课结果和选课时间等。三个模块都需要经过注册、登录后才能实现。 图2  选课系统功能模块

3.2  ajax在系统中的应用

    本系统中用户注册、修改个人信息、选课、申请教课等功能的实现需要客户端向服务器发出http请求,服务器收到请求后进行验证、访问数据库等处理,处理完毕后刷新页面。其间用户一直处于等待状态,如果出现断电、网络故障或信息填写不当等意外事件,用户需要重新填写大量信息,这样既降低了系统的运行效率,也给用户带来诸多不便。     引入ajax技术后,用户填写完信息由xmlhttprequest提交给服务器进行处理,用户可以继续其它操作,如果验证不合格客户端可立即得到通知,而不必重新下载整个网页,如果出现意外情况也可从服务器获得已填写的信息。以下以注册部分关键代码为例说明ajax应用。 1)创建xmlhttprequest对象 function createxmlhttprequest()   {     if (window.activexobject) {        if(navigator.useragent.tolowercase().indexof ('msie 5')!= -1)  {           xmlhttp = new activexobject ("microsoft. xmlhttp");}        else {          xmlhttp = new activexobject("msxml2. xmlhttp");}                           }      else if (window.xmlhttprequest)  {         xmlhttp = new xmlhttprequest();}      else {        alert("创建xmlhttprequest失败!");}  } 2)xmlhttprequest发送请求 function checkuser(userid){        //check username                     var userobj = document. getelement byid(userid);                     var url = "checkuser.asp?username=" +escape(userobj.value);//请求的url                     xmlhttp.open("get",url,true);//true:异步方式                   xmlhttp.onreadystatechange = checkuserok;//指定状态变化时触发的事件句柄 xmlhttp.send(null); ///发送信息 } 3)xmlhttprequest处理服务器响应 function checkuserok(){              //check username ready      if (xmlhttp.readystate ==4) {   //完成 var response = xmlhttp.response text;                        var alertobj = document. get elementbyid ("reg_alert");                    if(response == "该帐号已注册"){                               alertobj.innerhtml="对不起,<br/>此用户已经注册!";                    }else if(response == "帐号为空"){                                alertobj.innerhtml="对不起,<br/>用户名不能为空!";                    }else if(response == "帐号未注册"){                                alertobj.innerhtml = "<span class ='blue_txt'>此用户名可用!</span>";                     }else if(response == "帐号不存在"){                                alertobj.innerhtml="对不起,<br/>用户名不可用!";} }   }

4  结束语

    ajax技术并不是一项复杂的技术,但是它很好地利用了几项技术的融合,达到了令人满意的效果,成为深受web用户喜爱的一项技术。本选课系统主要在用户注册、修改个人信息、填写选课信息、申请教课页面运用ajax技术,该技术避免了用户多次填写大量信息的烦恼,缩短了用户的等待时间,充分体现了ajax技术的优点。

参考文献

[1] 曹衍龙,叶达峰.ajax编程技术与实例[m].北京:人民邮电出版社,2007.5 [2] ryan asleson,nathaniel t schutta. ajax 基础教程[m] . 北京:人民邮电出版社,2006 [3] 尹永田,葛苏慧,任佳.基于asp.net 的网上选课系统的设计与实现[j]. 中国现代教育装备,2006,12 [4] 柯昌正,黄厚宽.ajax 技术的原理与应用[j].铁路计算机应用,2007,1 [5]david flanagan. javascript权威指南[m]. 北京:机械工业出版社,2003 [6]dynamic html and xml:the xmlhttprequest object[eb/ol].http://developer.apple.com/internet/webcon tent/xmlhttpreq.html [7] brettmclaughlin. ajax简介[eb/ol]. http://blog.csdn. net/lithe/archive/2006/02/22/605234. aspx
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:陈源源 张学平 [标签: 技术 原理 系统 中的 应用 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    基于Java的局域网通信软件的设计与实现
    基于Java的汇编语言集成编译系统
    基于JACOB的托利多电子称与计算机通信
    浅谈技工学校 3DS MAX 教学
    浅谈VrayProxy在3dsmax制作中对大场景优化管
    WEB网络课件与JAVA技术研讨
    浅谈用HTML+Ajax实现服务器负载均
    基于Java的银行帐目管理系统
    Java多线程与线程安全实践-基于Http协议的断
    基于Java ME无线网络移动端的俄罗斯方块游戏
    基于JAVA CS远程监控系统软件的实现
    基于Ajax+Lucene构建搜索引擎的设计和实现
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有