AJAX无刷新验证用户名是否存在
作者:84321.Com 来源:84321.Com 发布时间:2007-08-10 10:07:00
标签:AJAX,无刷新,验证用户名,XMLHTTP
这几天在落伍上转转,发现有朋友不太明白一些网站在会员注册时,当输入用户名后没按“确定”提交数据,系统也能马上检测该用户名是否已经存在。在此我详细的介绍一下原理,代码不多也不复杂,请一定要看完。(注意:该贴为申请落伍贴,在落伍有一年了,到现在都没落伍,悲哀啊):
GetResult函数说明:
GetResult(str)
功能:通过XMLHTTP发送请求,返回结果.
参数:str,字符串,发送条件.
实例:GetResult(document.all.userid.value);
author:www.84321.Com 完善版-有参考网上程序
update:2006-12-26 12:02
下面是reg.htm代码:
<script language="JavaScript">
function GetResult(str)
{
var exitdos = new ActiveXObject("Microsoft.XMLHTTP");
//特殊字符:+,%,&,=,?等的传输解决办法.字符串先用escape编码的.
//Update:2006-12-26 12:22
exitdos.open("POST","server.asp?userid="+escape(str),false);
exitdos.send();
//服务器端处理返回的是经过escape编码的字符串.
document.all.username.value=unescape(exitdos.responseText)
}
</script>
userid:<input type="text" name="userid" onblur="GetResult(document.all.userid.value)"><br>
username:<input type="text" name="username">
下面是server.asp代码:
<% @Language="JavaScript" %>
<%
function 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 = "Sorry,该用户名已存在"
}
else
{
//加入容错.2006-12-25 10:15
sResult = "该用户可以注册"
}
//escape解决了XMLHTTP。中文处理的问题.
Response.Write(escape(sResult));
%>
mdb数据库名:data.mdb
表:users
表结构:id(自动编号) userid(文本) username(文本)
到此,源代码和数据库就完成了,因为用的是:onblur事件,当光标的焦点离开时,input值会马上传到数据库验证,马上试试吧!


猜你喜欢
- 本文实例讲述了vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法。分享给大家供大家参考,具体如下:在网上看了一下vue
- 1、接口概述1)、什么是接口?接口是提供了一种用以说明一个对象应该具有哪些方法的手段。尽管它可以表明这些方法的语义,但它并不规定这些方法应该
- 一、前言python在数组中随机取值有现成的方法,但是要给每个随机值被取到的概率加权重的话,可以参考下面这个方法二、实现方式import r
- 昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊。难道忘了DELET
- 如下所示://用普通文本文件方式打开和操作with open("'file.csv'") as cf:
- 本文实例为大家分享了使用RNN进行文本分类,python代码实现,供大家参考,具体内容如下1、本博客项目由来是oxford 的nlp 深度学
- WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高
- mysql版本号是5.7.28,表A有390W条记录,使用InnoDB引擎,其中varchar类型字段mac已建立索引,索引方法为B-tre
- 如果是导入有中文的数据,我的mysql 设置的utf8 字符集,所以你要导入的xxx.txt 文件也要保存ut
- 很多开发人员在刚开始学Python 时,都考虑过像 c++ 那样来实现 singleton 模式,但后来会发现 c++ 是 c++,Pyth
- 尽管 xml.etree.ElementTree 库通常用来做解析工作,其实它也可以创建XML文档。 例如,考虑如下这个函数:from xm
- 注意:if语句代码是从上往下执行的,当执行到满足条件的语句时,代码会停止往下执行注意:if语句后面要加上冒号score = int (inp
- 1、权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连接服务器A以进行数据库操作,需要服务器A赋予主机B操作mysql
- 如果内部修改外部变量需要nonlocal,globaldef f1(): print("in f1..") num=11
- lxmllxml 是 Python 的一个库,用于解析和呈现 XML 和 HTML。它支持多种内置和第三方 XML 和 HTML 标记,例如
- 连接查询:是将两个查询(或表)的每一行,以“两两横同对接”的方式,所得到的所有行的结果,即一个表中的某行,跟另一个表中的某行。进行“横向对接
- 昨天用ucweb看到了goos发的一篇帖子:谁说Float菜单不可以水平居中,进去看了看,觉得方法有点繁琐了,用到了负边距,position
- 之前在实现表单中file类型input选择多图片的时候找到一种方式 也许不是最好的但亲测可行且支持ie7以上以及chrome浏览器在表单中使
- 数据库系统的安全性包括很多方面。由于很多情况下,数据库服务器容许客户机从网络上连接,因此客户机连接的安全对MySQL数据库安全有很重要的影响
- #!/usr/local/python import os import time import string source=['/