XMLHttpRequest实现无刷新验证用户名
在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名
打开开发环境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实现无刷新验证用户名相关推荐
- xmlHttpRequest无刷新验证用户名
现在好多网站上的注册都用了无刷新验证用户名,这种效果咋看感觉很复杂很难实现,其实它里面用到了Ajax中的核心xmlHttpRequest这个类,如果只是单单想实现这个效果,压根就不用引用Ajax.Ne ...
- Ajax+asp.net无刷新验证用户名
注册用户页面代码如下 <script language="javascript" type="text/javascript"> var xmlHt ...
- 【转】无刷新验证用户名可用性
在用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名 打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx 代码如下: V ...
- Ajax+asp.net无刷新验证用户名的几种方法
Ajax+asp.net无刷新验证用户名 注册用户页面代码如下 <script language="javascript" type="text/javascrip ...
- 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 ...
最新文章
- Android Jetpack组件之 Paging使用-源码
- 我和ABP vNext 的故事
- Python萌新笔记
- Go 语言实现 23 种设计模式适配器
- 程序员面试金典 - 面试题 03.01. 三合一(数组栈)
- 最新编程语言排行榜出炉:Swift和Kotlin好像开始凉了
- 【脑电信号】基于matlab HMM睡眠状态检测【含Matlab源码 050期】
- IDEA如何使用SVN插件
- P1867 【Mc生存】经验值
- 干货收藏 | Python语音识别终极指南
- Pascal voc2007数据集
- 神经网络数据分析案例题,神经网络模型数据处理
- SAP:SMARTFORM打开WORD文档出错,或无法编辑
- 魔兽地图编辑器自定义地图预览图片的方法
- mysql audit plugin_MySQL Audit Plugin的简单应用
- [NGUI]NGUI中的九宫格切图模式
- Altium Designer使用介绍和界面介绍
- power pviot
- 甘肃省谷歌地球高程DEM等高线下载
- ORC工具(使用阿里云统一文字识别接口实现)
热门文章
- 动画片“喜洋洋与灰太狼”和“麦兜”的营销策略
- 因果图法和判定表法,正交表
- 美信时代监控运维 助力银行“数字化转型”
- 夏日葵电商:微信商城系统开发,分享产品运营几大细节
- 计算机一级基本操作题创建快捷方式,计算机等级一级MS Office考试考题:第五套基本操作题...
- Docker Meetup 九城联动
- 打开word文件需要输入密码怎么办?
- 六月驾校淡季,如何用电脑发短信吸引用户?
- C语言使用数组和循环解决约瑟夫环问题
- MicroStrategy(微策略)BI框架 iOS开发代码分享