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

打开开发环境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

代码如下:

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

下一篇 将会编写 利用XMLHttpRequest对象异步发送XML文档

XMLHttpRequest实现无刷新验证用户名相关推荐

  1. xmlHttpRequest无刷新验证用户名

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

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

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

  3. 【转】无刷新验证用户名可用性

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

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

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

  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. Android Jetpack组件之 Paging使用-源码
  2. 我和ABP vNext 的故事
  3. Python萌新笔记
  4. Go 语言实现 23 种设计模式适配器
  5. 程序员面试金典 - 面试题 03.01. 三合一(数组栈)
  6. 最新编程语言排行榜出炉:Swift和Kotlin好像开始凉了
  7. 【脑电信号】基于matlab HMM睡眠状态检测【含Matlab源码 050期】
  8. IDEA如何使用SVN插件
  9. P1867 【Mc生存】经验值
  10. 干货收藏 | Python语音识别终极指南
  11. Pascal voc2007数据集
  12. 神经网络数据分析案例题,神经网络模型数据处理
  13. SAP:SMARTFORM打开WORD文档出错,或无法编辑
  14. 魔兽地图编辑器自定义地图预览图片的方法
  15. mysql audit plugin_MySQL Audit Plugin的简单应用
  16. [NGUI]NGUI中的九宫格切图模式
  17. Altium Designer使用介绍和界面介绍
  18. power pviot
  19. 甘肃省谷歌地球高程DEM等高线下载
  20. ORC工具(使用阿里云统一文字识别接口实现)

热门文章

  1. 动画片“喜洋洋与灰太狼”和“麦兜”的营销策略
  2. 因果图法和判定表法,正交表
  3. 美信时代监控运维 助力银行“数字化转型”
  4. 夏日葵电商:微信商城系统开发,分享产品运营几大细节
  5. 计算机一级基本操作题创建快捷方式,计算机等级一级MS Office考试考题:第五套基本操作题...
  6. Docker Meetup 九城联动
  7. 打开word文件需要输入密码怎么办?
  8. 六月驾校淡季,如何用电脑发短信吸引用户?
  9. C语言使用数组和循环解决约瑟夫环问题
  10. MicroStrategy(微策略)BI框架 iOS开发代码分享