首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> WEB开发 >> 正文
WEB2.0中AJAX应用的详细探讨


  
  实例一: 用文本字符串的方式返回服务器的响应来验证网易通行证帐号是否存在
  
  首先,我们登陆网易通行证注册页面,可以看到检测用户名是否存在是将用户名提交给checkssn.jsp页面进行判断,格式为:
  
  reg.163.com/register/checkssn.jsp?username=用户名
  
  根据上面讲到的方法,我们可以利用AJAX技术对网易通行证用户名进行检测:
  
  第一步:新建一个基于Xhtml标准的网页,在<head>区域插入Javascript函数如下:
  
  <script type="text/javascript" language="javascript">
  function getXMLRequester( ){
  var xmlhttp_request = false;
  try{
  if( window.ActiveXObject ){
  for( var i = 5; i; i-- ){
  try{
  if( i == 2 ){
  xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" );
  }else{
  xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
  xmlhttp_request.setRequestHeader("Content-Type","text/xml");
  xmlhttp_request.setRequestHeader("Content-Type","gb2312");
  }
  break;}
  catch(e){
  xmlhttp_request = false;
  }
  }
  }else if( window.XMLHttpRequest ){
  xmlhttp_request = new XMLHttpRequest();
  if (xmlhttp_request.overrideMimeType) {
  xmlhttp_request.overrideMimeType('text/xml');
  }
  }
  }catch(e){
  xmlhttp_request = false;
  }
  return xmlhttp_request ;
  }
  
  function IDRequest(n) {//定义收到服务器的响应后需要执行的JavaScript函数
  url=n+document.getElementById('163id').value;//定义网址参数
  xmlhttp_request=getXMLRequester();//调用创建XMLHttpRequest的函数
  xmlhttp_request.onreadystatechange = doContents;//调用doContents函数
  xmlhttp_request.open('GET', url, true);
  xmlhttp_request.send(null);
  }
  function doContents() {
  if (xmlhttp_request.readyState == 4) {// 收到完整的服务器响应
  if (xmlhttp_request.status == 200) {//HTTP服务器响应的值OK
  document.getElementById('message').innerHTML = xmlhttp_request.responseText;
  //将服务器返回的字符串写到页面中ID为message的区域
  } else {
  alert(http_request.status);
  }
  }
  }
  </script>
  
  在<body>区域建立一个文本框,id为163id
  
  <input type="text" id="163id" onpropertychange="IDRequest('http://reg.163.com/register/checkssn.jsp?username=')" />
  
  再建一个id为messsge的空白区域用来显示返回字符串(也可以通过Javascript函数截取一部分字符串显示):
  
  <div id="message"></div>
  
  这样,一个基于AJAX技术的用户名检测页面就做好了,不过这个页面将返回服务器响应生成页面的所有字符串,当然还可以对返回的字符串进行一些操作,便于应用到不同的需要当中。
  
  实例二: 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在
  
  在上面的例子中,当服务器对HTTP请求的响应被收到后,我们会调用请求对象的reponseText属性。该属性包含了服务器返回响应文件的内容。现在我们以XMLDocument对象方式返回响应,此时将不再需要reponseText属性而使用responseXML属性。
  
  首先登陆金山通行证注册页面,我们发现金山通行证用户名的检测方式为:
  pass.kingsoft.com/ksgweb/jsp/login/uid.jsp?uid=用户名,并且返回XML数据:
  
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
  <response>
  <method>isExistedUid</method>
  <result>-2</result>
  </response>
  
  当result值为-1时表示此用户名已被注册,当result值为-2时表示此用户名尚未注册,因此通过对result值的判断可以知道用户名是否被注册。
  
  对上例代码进行修改:
  
  首先找到
  
  document.getElementById('message').innerHTML = xmlhttp_request.responseText;
  
  改为:
  
  var response = xmlhttp_request.responseXML.documentElement;
  var result = response.getElementsByTagName('result')[0].firstChild.data;//返回result节点数据
  if(result ==-2){
  document.getElementById('message').innerHTML = "用户名"+document.getElementById('163id').value+"尚未注册";
  }
  else if(result ==-1){
  document.getElementById('message').innerHTML = "对不起,用户名"+document.getElementById('163id').value+"已经注册";
  }
  
  通过以上两个实例说明了AJAX的客户端基础应用,采用的是网易和金山现成的服务器端程序,当然为了开发合适自己页面的程序,还需要对自己编写服务器端程序,这设计到程序语言及数据库的操作,对于有一定程序基础的读者一定不是很难的事情,本文着重讨论了客户端AJAX的应用体验,广大读者可以根据本文讲的原理结合各种样式表现手法作出绚丽多彩的应用,希望本文能够起到抛砖引玉的作用。

上一页  [1] [2] [3] 

中国IT教育热线咨询
相关文章
探讨AJAX在WEB2.0中的具体应用
WEB2.0开发之AJAX:HTML++同Client/SOA
Web2.0十大Ajax安全漏洞以及成因
最新文章
·Ajax光环背后的隐患
·Windows操作系统下JSP程序开发环
·如何在Java程序中实现FTP的上传下
·Java应用:编写高级JavaScript应
·初学者学习java第一步——JDK环境
 文章评论

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·ASP.NET开发中的八个最佳实践09-21
·ASP.NET开发中的验证码技术09-18
·控件开发asp.net处理标签间内容09-18
·程序员成为成为编程高手的二十二条军规09-18
·VS 2005和ASP.NET 2.0中处理CSS样式表09-17
·如何有效监控.NET应用程序09-16
·浅析ASP.NET 2.0 Client Callback09-16
·探讨ASP.NETMVC框架内置AJAX支持编程技术09-15
·ASP.NET2.0的URL映射的实现方法09-13
·Java\.net\PHP比较 程序员眼中的.Net世界09-12
·asp.net中实现观察者设计模式09-12
·谈JSP与XML的交互09-01
·ASP连接11种数据库语法总结09-01
·如何利用ASP实现邮箱访问09-01
·ASP随机数的应用技术09-01
·定时使用DWRUtil.addRow生成表格08-27
·ASP申请单动态添加实现方法及代码08-27
·关于ASP中脚本执行顺序的讲解08-25
·ASP程序实现网页伪静态页源代码08-25
·ASP如何调用webservice08-22
·ASP实例:读取xml文件的程序08-14
·Asp组件检测函数08-11
·Linux系统下让PHP提高性能的工具APC05-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·JSTL中fn表达式的使用说明09-18
·JSP Web框架研究:Struts09-16
·JSF在GlassFish管理控制台中的应用09-12
·介绍JSP程序动态网站环境搭建的详细步骤09-12
·Jsp页面中文参数传递get和post方法分析09-12
·Java\.net\PHP比较 程序员眼中的.Net世界09-11
·JavaScript最常用的55个经典技巧09-08
·Windows操作系统下JSP程序开发环境配置09-03
·JSF点滴积累--权限验证09-03
·小小分页帮助程序08-29
·经验分享全过程JSP程序员完全蜕变手册08-27
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: