文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
JSP随机数/Javascript随机数
利用XMLHTTP无刷新获取数据
JSP白皮书
在jsp中发送email
为什么jsp不能取代servlet?
jsp的5个不足之处
JSP技巧:发送动态图像
用JSP操作Cookie
简易成绩查询系统
用JSP创建WAP应用
在Windows/NT上建立JSP环境
用jsp连接数据库大全
如何成为一个优秀的JSP程序员
ASP与JSP的比较
处理表单数据
JSP及语法概要
处理Cookie
jsp文件操作之写入篇
一个可以防止刷新的JSP计数器
jsp计数器代码
JSP简明教程
在Java中使用Oracle blob
JSP入门初级教程之预定义变量的使用
在JSP中使用JavaMail(2)
在JSP中使用JavaMail
JSP/Servlet的重定向技术综述
JSP 语法详解(2)
JSP 语法详解(1)
数据库的连接与关闭


技术教程 -> JSP教程 ->  
利用XMLHTTP无刷新获取数据
来源:转载   人气:1646   录入时间:2007-11-8
    客户端和服务器端数据的交互有几种方法.
   1.提交,通过<form></form>提交到服务器端.也称"有刷新"吧.
   2.通过XMLHTTP无刷新提交到服务器端,并返回数据.也称"无刷新"吧.
   利用XMLHTTP我们可以实现很多很强大的应用.这文章主要介绍它的一
   些简单的应用.
   
   附:因为XMLHTTP是IE5.0+支持的对象.所以你必须要有IE5.0+才能看到效果.
   
   client.htm
   
   <script language="JavaScript">
   function GetResult(str)
   {
   /*
   *--------------- GetResult(str) -----------------
   * GetResult(str)
   * 功能:通过XMLHTTP发送请求,返回结果.
   * 参数:str,字符串,发送条件.
   * 实例:GetResult(document.all.userid.value);
   * author:wanghr100(灰豆宝宝.net)
   * update:2004-5-27 19:02
   *--------------- GetResult(str) -----------------
   */
    var oBao = new ActiveXObject("Microsoft.XMLHTTP");
    //特殊字符:+,%,&,=,?等的传输解决办法.字符串先用escape编码的.
    //Update:2004-6-1 12:22
    oBao.open("POST","server.asp?userid="+escape(str),false);
    oBao.send();
    //服务器端处理返回的是经过escape编码的字符串.
    document.all.username.value=unescape(oBao.responseText)
   }
   </script>
   <input type="button" onclick="GetResult(document.all.userid.value)" value="Get"><br>
   userid:<input type="text" name="userid"><br>
   username:<input type="text" name="username">
   
   server.asp 服务器端处理.
   
   <% @Language="JavaScript" %>
   <%
   function OpenDB(sdbname)
   {
   /*
   *--------------- OpenDB(sdbname) -----------------
   * OpenDB(sdbname)
   * 功能:打开数据库sdbname,返回conn对象.
   * 参数:sdbname,字符串,数据库名称.
   * 实例:var conn = OpenDB("database.mdb");
   * author:wanghr100(灰豆宝宝.net)
   * update:2004-5-12 8:18
   *--------------- OpenDB(sdbname) -----------------
   */
    var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
    var conn = Server.CreateObject("ADODB.Connection");
    conn.Open(connstr);
    return conn;
   }
   var sResult = "";
   var oConn = OpenDB("data.mdb");
   //特殊字符:+,%,&,=,?等的传输解决办法.客户端字符是经过escape编码的
   //所以服务器端先要经过unescape解码.
   //Update:2004-6-1 12:22
   var userid = unescape(Request("userid"));
   var sql = "select username from users where userid=\'"+userid+"\'";
   var rs = oConn.Execute(sql);
   if(!rs.EOF)
   {
    sResult = rs("username").Value;
   }
   else
   {
    //加入容错.2004-5-30 10:15
    sResult = "Sorry,没有找到..."
   }
   //escape解决了XMLHTTP。中文处理的问题.
   Response.Write(escape(sResult));
   %>
   




Copyright(C)2007-2024 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987