asp.net ajax检查用户名是否存在代码
原文 asp.net ajax检查用户名是否存在代码
用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名
打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx
创建 XMLHttpRequest 对象
所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都内建了 XMLHttpRequest 对象。
通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:
xmlhttp=new XMLHttpRequest();老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");提示:在下一章,我们将使用 XMLHttpRequest 对象从服务器取回 XML 信息。
代码如下:
01.<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
02.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
03.<html xmlns="http://www.w3.org/1999/xhtml" >
04.<head runat="server">
05. <title>无标题页</title>
06. <script type="text/网页特效"><!--
07. var xmlHttp=null;
08.
09. function createXMLHttpRequest()
10. {
11. if(xmlHttp == null){
12. if(window.XMLHttpRequest) {
13. //Mozilla 浏览器
14. xmlHttp = new XMLHttpRequest();
15. }else if(window.ActiveXObject) {
16. // IE浏览器
17. try {
18. xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
19. } catch (e) {
20. try {
21. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
22. } catch (e) {
23. //alert('创建失败');
24. }
25. }
26. }
27. }
28. }
29. function openAjax()
30. {
31. if( xmlHttp == null)
32. {
33. createXMLHttpRequest();
34. if( xmlHttp == null)
35. {
36. //alert('出错');
37. return ;
38. }
39. }
40.
41. var val=document.getElementById('txt').value;
42.
43. xmlHttp.open("get","VerifyUserNameHandler.ashx?para="+val+"&date="+new Date(),true);
44. xmlHttp.onreadystatechange=xmlHttpChange;
45. xmlHttp.send(null);
46.
47. document.getElementById('resultSpan').innerText='正在检查,请稍候...';
48. }
49.
50. function xmlHttpChange()
51. {
52. if(xmlHttp.readyState==4)
53. {
54. if(xmlHttp.status==200)
55. {
56. var res=xmlHttp.responseText;
57. document.getElementById('resultSpan').innerText=res;
58.
59. if(res=='恭喜,用户名可以使用。')
60. {
61. setTimeout("document.getElementById('resultSpan').innerText='';",2000);
62. }
63. else if(res=='抱歉,用户名已被使用。')
64. {
65. document.getElementById('txt').focus();
66. }
67. }
68. }
69. }
70.// --></script>
71.</head>
72.<body>
73. <form id="form1" runat="server">
74. 用户名:<input type="text" id='txt' value="Sandy" οnblur="openAjax();" /> <span id="resultSpan"></span>
75. </form>
76.</body>
77.</html>
<%@ 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').innerText='正在检查,请稍候...';
}
function xmlHttpChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var res=xmlHttp.responseText;
document.getElementById('resultSpan').innerText=res;
if(res=='恭喜,用户名可以使用。')
{
setTimeout("document.getElementById('resultSpan').innerText='';",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
代码如下:
view plaincopy to clipboardprint?
01.<%@ WebHandler Language="C#" class="VerifyUserNameHandler" %>
02.using System;
03.using System.Web;
04.using System.Collections;
05.using System.Collections.Generic;
06.public class VerifyUserNameHandler : IHttpHandler {
07.
08. public void ProcessRequest (HttpContext context) {
09. //context.Response.ContentType = "text/plain";
10. string _name = context.Request.QueryString["para"];
11. _name = string.IsNullOrEmpty(_name) ? "" : _name;
12. System.Threading.Thread.Sleep(3000);//用线程来模拟数据库教程查询工作
13. string[] Names = new string[] { "Sandy", "阿非", "abc" };//这里用Names数组来代替数据库中的结果集
14. if (Array.IndexOf<string>(Names, _name) == -1)
15. {
16. context.Response.Write("恭喜,用户名可以使用。");
17. }
18. else
19. {
20. context.Response.Write("抱歉,用户名已被使用。");
21. }
22. }
23.
24. public bool IsReusable {
25. get {
26. return false;
27. }
28. }
29.}
<%@ 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
asp.net ajax检查用户名是否存在代码相关推荐
- asp.net AJAX 验证用户名是否存在 -Jquery
异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用JQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据. 通过jQuery 底层 AJA ...
- asp.net 用户注册怎么判断用户名是否重复 ajax,AJAX_asp.net结合Ajax验证用户名是否存在的代码,1, 使用JavaScript js文件,验证 - phpStudy...
asp.net结合Ajax验证用户名是否存在的代码 1, 使用JavaScript js文件,验证用户名是否存在 复制代码 代码如下: var ajax = function(option) { va ...
- AJAX+JavaScript无刷新检查用户名
AJAX+JavaScript无刷新检查用户名是否可用2009-04-20 16:26 JavaScript 和 Ajax 代码 <script language="javascr ...
- [转载]超酷代码-使用 ASP.NET AJAX 进行拖放
原文地址 http://msdn.microsoft.com/msdnmag/issues/08/01/WickedCode/default.aspx?loc=zh AJAX 是对 Web 用户界面的 ...
- AJAX异步检查,检查用户名是否存在
AJAX异步检查,检查用户名是否存在 写法一: var xmlHttp;if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Op ...
- php注册验证用户名已存在,php ajax注册验证用户名是否存在代码_PHP教程
php ajax注册验证用户名是否存在代码 这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册. php教程 ajax注册 ...
- Asp.net中的AJAX学习记录之一 AJAX技术的崛起与Asp.net AJAX的诞生
最近开始学习Asp.net中的AJAX,可能我的高手朋友们会说:"走还不稳呢!怎么就想学跑了?"呵呵!主要是我在做项目中体会到AJAX真的是很好的一门技术,应该好好的学习一下, ...
- 错误: asp.net ajax 客户端框架未能加载.,ASP.NET Ajax 客户端框架未能加载、Sys未定义...
在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0 导致菜单控件的图片显示不出来: WebSite:程序中的图片显示正常. 但用到ASP.net 2. ...
- 从Atlas到Microsoft ASP.NET AJAX(4) - Browser Compatibility
Browser Compatibility 在CTP版本中使用为解决浏览器兼容问题提供了一个抽象层,将功能集中到了IE浏览器的使用方式上.在服务器端如果发现客户端使用的不是IE浏览器,则会立即添加一个 ...
最新文章
- 聚焦点showModalDialog的一些方法
- cnpm install时提示resource busy or locked,syslink...
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
- DNS中的七大资源记录介绍
- json解析对应的value为null_徒手撸一个JSON解析器
- 深圳不完全启示录之初来乍到----1
- hadoop面试题答案
- 1-算法-hanoi汉诺塔问题- 递归
- 跑路后再删库?思科前员工离职后恶意删库,损失达 240 万美元!
- API 日调用量超 100 亿次!腾讯云首次披露云原生产品数据
- 启动时间知多少?8款音视频类应用测评报告分析
- Selenium Grid- 让自动化分布式执行变得可能
- selenium+python模拟键盘鼠标操作,python3.6安装pyUserInput
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_17-异常处理-可预知异常处理-异常处理测试...
- 大气压力换算公式_常用压力单位换算表
- 软考高级 2022年11月信息系统项目管理师
- Myeclipse报错:The word is not correctly spelled
- “快乐宝宝”风波始末 (三)
- oracle 全文检索
- 使用STM8S003定时器的PWM功能输出PWM波
热门文章
- Rational Rose 2003 下载、破解及安装方法(图文)
- 《视图更新与关系数据库理论》——2.1 关系和关系变量
- 一个简单的WebService服务
- silverlight中数据绑定讲解
- php建一个表按删除就删除,php怎样删除数据库表_后端开发
- 无法检查指定的位置是否位于cfs上_(干货分享)一文搞明白 节气门位置传感器的作用、故障类型与症状、诊断方法...
- [BZOJ4671]异或图
- yum安装mysql5.6
- oracle 基本异常的练习及各个错误码
- C# 内存法图像处理