【转】无刷新验证用户名可用性
在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名
打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> <script type="text/javascript"><!-- var xmlHttp=null; function createXMLHttpRequest() { if(xmlHttp == null){ if(window.XMLHttpRequest) { //Mozilla 浏览器 xmlHttp = new XMLHttpRequest(); }else if(window.ActiveXObject) { // IE浏览器 try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { //alert('创建失败'); } } } } } function openAjax() { if( xmlHttp == null) { createXMLHttpRequest(); if( xmlHttp == null) { //alert('出错'); return ; } } var val=document.getElementById('txt').value; xmlHttp.open("get","VerifyUserNameHandler.ashx?para="+val+"&date="+new Date(),true); xmlHttp.onreadystatechange=xmlHttpChange; xmlHttp.send(null); document.getElementById('resultSpan').innerHTML='正在检查,请稍候...'; } function xmlHttpChange() { if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { var res=xmlHttp.responseText; document.getElementById('resultSpan').innerHTML=res; if(res=='恭喜,用户名可以使用。') { setTimeout("document.getElementById('resultSpan').innerHTML='';",2000); } else if(res=='抱歉,用户名已被使用。') { document.getElementById('txt').focus(); } } } } // --></script> </head> <body> <form id="form1" runat="server"> 用户名:<input type="text" id='txt' value="Sandy" οnblur="openAjax();" /> <span id="resultSpan"></span> </form> </body> </html> 然后新建一个一般处理程序,命名为 VerifyUserNameHandler.ashx代码如下:[c-sharp] view plaincopy<%@ WebHandler Language="C#" Class="VerifyUserNameHandler" %> using System; using System.Web; using System.Collections; using System.Collections.Generic; public class VerifyUserNameHandler : IHttpHandler { public void ProcessRequest (HttpContext context) { //context.Response.ContentType = "text/plain"; string _name = context.Request.QueryString["para"]; _name = string.IsNullOrEmpty(_name) ? "" : _name; System.Threading.Thread.Sleep(3000);//用线程来模拟数据库查询工作 string[] Names = new string[] { "Sandy", "阿非", "abc" };//这里用Names数组来代替数据库中的结果集 if (Array.IndexOf<string>(Names, _name) == -1) { context.Response.Write("恭喜,用户名可以使用。"); } else { context.Response.Write("抱歉,用户名已被使用。"); } } public bool IsReusable { get { return false; } } }
到这里程序已经完成。
主要是利用了XMLHttpRequest对象采用异步的方式去访问服务器,获得响应后触发定义好的回调函数
本文是XMLHttpRequest对象异步方式对服务器发送Get方式的请求,访问服务器的文件为.ashx
本文开发环境为 VS 2005
转载于:https://www.cnblogs.com/fighting-mochou/archive/2012/12/12/2815273.html
【转】无刷新验证用户名可用性相关推荐
- Ajax+asp.net无刷新验证用户名
注册用户页面代码如下 <script language="javascript" type="text/javascript"> var xmlHt ...
- xmlHttpRequest无刷新验证用户名
现在好多网站上的注册都用了无刷新验证用户名,这种效果咋看感觉很复杂很难实现,其实它里面用到了Ajax中的核心xmlHttpRequest这个类,如果只是单单想实现这个效果,压根就不用引用Ajax.Ne ...
- Ajax+asp.net无刷新验证用户名的几种方法
Ajax+asp.net无刷新验证用户名 注册用户页面代码如下 <script language="javascript" type="text/javascrip ...
- XMLHttpRequest实现无刷新验证用户名
在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名 打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx 代码如下: & ...
- JQuery Ajax后台无刷新验证用户名重复,前台验证两次密码一致,后台创建并验证 验证码
写在前面 写web 的人,我想最先要解决的就是注册登录的界面了,一个小小的界面却包含着各种基本的知识,让我这个新手摸了一天. 效果图 知识 1.bootstrap渲染表单 2.JQuery ajax验 ...
- AJAX(三)--实例无刷新验证用户名是否存在
我们知道在注册淘宝账户时,当我们注册的账户名与其他人同名的时候,系统会自动的给出提示,并且给出推荐使用的账户名,并没有完全的刷新整个页面,而是悄悄的向服务器端发送请求进行验证,让我们感觉很舒服,这就是 ...
- JQuery用户名无刷新验证
本人也是JQuery初学者,写了个用户名无刷新验证的简单例子,拿来分享,共同学习一下吧. 1.在静态页面里添加文本框及样式和js脚本的引用: 代码 2.css样式表,当文本框文字为空时边框红色: .t ...
- 无刷新判断用户名是否存在
两个页面: Default.aspx 输入username去验证 checkUser.aspx 处理验证信息 Default页面代码 Code <!DOCTYPE html PUBLIC &q ...
- AJAX+JavaScript无刷新检查用户名
AJAX+JavaScript无刷新检查用户名是否可用2009-04-20 16:26 JavaScript 和 Ajax 代码 <script language="javascr ...
最新文章
- java 购物车价格类型_WooCommerce - 为购物车中的每个产品添加自定义价格
- mysql update时数据不存在新增_mysql sql语句新增判断,存在修改,不存在新增
- SQL Server密码爆破工具SQLdict
- windows 远程桌面 启动方式
- Python过渡性模块重载(递归重载模块)
- SAP UI5 main page design
- python的缩进机制是其缺点之一_Python 的缩进是不是反人类的设计?
- Bash脚本教程之脚本入门
- java中的Iterator和Iterable 区别
- 机器视觉产品技术市场需求日益增长
- Java NIO 和 IO的区别
- 经典配色方案之 红、橙、黄、绿、青、紫、无彩色系
- 论文:Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection通过划块的方式进行小目标检测
- mathpix snpping公式输入不限次数的方法
- 教你如何用ps美化皮肤 每一步都很容易理解!
- 人脸检测和人脸识别原理
- 《PHASEN:A Phase and Harmonics-Aware Speech Enhancement Network》Pytorch代码学习
- MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息
- 线性代数:行列法则Python计算AB矩阵乘法
- 《尚硅谷30天入门Java》学习笔记1
热门文章
- pe安装usb3.0驱动_电脑店U盘启动盘制作工具下载安装须知
- 二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...
- 160 - 37 CyberBlade.1
- 组合问题 已知组合数_组合和问题
- duration java_Java Duration类| minusMinutes()方法与示例
- java 方法 示例_Java集合syncedSortedSet()方法与示例
- cobalt strick 4.0 系列教程(6)Payload Artifact 和反病毒规避
- 栈溢出利用-----jmp esp
- 导入其他spring模块配置
- php 上传多个txt文件上传,一个多文件上传的例子(原创)