在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名

打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx

代码如下:

View Code

<%@ 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

【转】无刷新验证用户名可用性相关推荐

  1. Ajax+asp.net无刷新验证用户名

    注册用户页面代码如下 <script language="javascript" type="text/javascript"> var xmlHt ...

  2. xmlHttpRequest无刷新验证用户名

    现在好多网站上的注册都用了无刷新验证用户名,这种效果咋看感觉很复杂很难实现,其实它里面用到了Ajax中的核心xmlHttpRequest这个类,如果只是单单想实现这个效果,压根就不用引用Ajax.Ne ...

  3. Ajax+asp.net无刷新验证用户名的几种方法

    Ajax+asp.net无刷新验证用户名 注册用户页面代码如下 <script language="javascript" type="text/javascrip ...

  4. XMLHttpRequest实现无刷新验证用户名

    在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名 打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx 代码如下: & ...

  5. JQuery Ajax后台无刷新验证用户名重复,前台验证两次密码一致,后台创建并验证 验证码

    写在前面 写web 的人,我想最先要解决的就是注册登录的界面了,一个小小的界面却包含着各种基本的知识,让我这个新手摸了一天. 效果图 知识 1.bootstrap渲染表单 2.JQuery ajax验 ...

  6. AJAX(三)--实例无刷新验证用户名是否存在

    我们知道在注册淘宝账户时,当我们注册的账户名与其他人同名的时候,系统会自动的给出提示,并且给出推荐使用的账户名,并没有完全的刷新整个页面,而是悄悄的向服务器端发送请求进行验证,让我们感觉很舒服,这就是 ...

  7. JQuery用户名无刷新验证

    本人也是JQuery初学者,写了个用户名无刷新验证的简单例子,拿来分享,共同学习一下吧. 1.在静态页面里添加文本框及样式和js脚本的引用: 代码 2.css样式表,当文本框文字为空时边框红色: .t ...

  8. 无刷新判断用户名是否存在

    两个页面: Default.aspx  输入username去验证 checkUser.aspx 处理验证信息 Default页面代码 Code <!DOCTYPE html PUBLIC &q ...

  9. AJAX+JavaScript无刷新检查用户名

    AJAX+JavaScript无刷新检查用户名是否可用2009-04-20 16:26   JavaScript 和 Ajax 代码 <script language="javascr ...

最新文章

  1. java 购物车价格类型_WooCommerce - 为购物车中的每个产品添加自定义价格
  2. mysql update时数据不存在新增_mysql sql语句新增判断,存在修改,不存在新增
  3. SQL Server密码爆破工具SQLdict
  4. windows 远程桌面 启动方式
  5. Python过渡性模块重载(递归重载模块)
  6. SAP UI5 main page design
  7. python的缩进机制是其缺点之一_Python 的缩进是不是反人类的设计?
  8. Bash脚本教程之脚本入门
  9. java中的Iterator和Iterable 区别
  10. 机器视觉产品技术市场需求日益增长
  11. Java NIO 和 IO的区别
  12. 经典配色方案之 红、橙、黄、绿、青、紫、无彩色系
  13. 论文:Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection通过划块的方式进行小目标检测
  14. mathpix snpping公式输入不限次数的方法
  15. 教你如何用ps美化皮肤 每一步都很容易理解!
  16. 人脸检测和人脸识别原理
  17. 《PHASEN:A Phase and Harmonics-Aware Speech Enhancement Network》Pytorch代码学习
  18. MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息
  19. 线性代数:行列法则Python计算AB矩阵乘法
  20. 《尚硅谷30天入门Java》学习笔记1

热门文章

  1. pe安装usb3.0驱动_电脑店U盘启动盘制作工具下载安装须知
  2. 二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...
  3. 160 - 37 CyberBlade.1
  4. 组合问题 已知组合数_组合和问题
  5. duration java_Java Duration类| minusMinutes()方法与示例
  6. java 方法 示例_Java集合syncedSortedSet()方法与示例
  7. cobalt strick 4.0 系列教程(6)Payload Artifact 和反病毒规避
  8. 栈溢出利用-----jmp esp
  9. 导入其他spring模块配置
  10. php 上传多个txt文件上传,一个多文件上传的例子(原创)