- 浏览: 259353 次
文章分类
最新评论
-
yilisha_andrea:
不在意那么多,然后用的<button>然后点击后 ...
解析<button>和<input type="button"> 的区别 -
szh_java:
很久很久之前看过楼主的这篇文章,当时不知道什么感觉,现在感觉挺 ...
两年外包女程序员的真实感受 -
dabing69221:
珍爱生命 ,远离外包
两年外包女程序员的真实感受 -
dabing69221:
在华为做一年外包的苦逼程序员飘过,你所说的感同身受, 往事历历 ...
两年外包女程序员的真实感受 -
beating011:
请问你有TimesTen6.0的安装程序么,linux的安装 ...
oracle 内存数据库 TimesTen试用笔记(aix5.3)
很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下:
/**
* XMLHttpRequest Object Pool
*
* @author legend <legendsky@hotmail.com>
* @link http://www.ugia.cn/?p=85
* @Copyright www.ugia.cn
*/
var XMLHttp = {
_objPool: [],
_getInstance: function ()
{
for (var i = 0; i < this._objPool.length; i ++)
{
if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4)
{
return this._objPool[i];
}
}
// IE5中不支持push方法
this._objPool[this._objPool.length] = this._createObj();
return this._objPool[this._objPool.length - 1];
},
_createObj: function ()
{
if (window.XMLHttpRequest)
{
var objXMLHttp = new XMLHttpRequest();
}
else
{
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
for(var n = 0; n < MSXML.length; n ++)
{
try
{
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}
catch(e)
{
}
}
}
// mozilla某些版本没有readyState属性
if (objXMLHttp.readyState == null)
{
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function ()
{
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function")
{
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
},
// 发送请求(方法[post,get], 地址, 数据, 回调函数)
sendReq: function (method, url, data, callback)
{
var objXMLHttp = this._getInstance();
with(objXMLHttp)
{
try
{
// 加随机数防止缓存
if (url.indexOf("?") > 0)
{
url += "&randnum=" + Math.random();
}
else
{
url += "?randnum=" + Math.random();
}
open(method, url, true);
// 设定请求编码方式
setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
send(data);
onreadystatechange = function ()
{
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304))
{
callback(objXMLHttp);
}
}
}
catch(e)
{
alert(e);
}
}
}
};
ASPX:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="THttpModule.Login" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head runat="server">
6 <title>Login Page</title>
7 <style type="text/css" media="screen">
8 @import url("http://www.taobao.com/home/css/tbsp/master/global_v3a.php?t=20080429.css");
9 @import url("http://www.taobao.com/home/css/component.php?t=20080624.css");
10 @import url("http://www.taobao.com/home/css/component_ext.php?t=20080624.css");
11 @import url("http://www.taobao.com/home/css/sys/register060524.css?t=20080624.css");
12 </style>
13 <script src="js/xmlhttphelper.js" type="text/javascript"></script>
14 <script language="javascript">
15 <!-- Author PetterLiu http://wintersun.cnblogs.com -->
16 var usernameCheckerTimer;
17 function CallbackSuccess(objXMLHttp) {
18 var result = objXMLHttp.responseText;
19 document.getElementById("check_username_info").innerHTML = result;
20 alert(result);
21 }
22 function checkIsExist() {
23 var uname = document.getElementById("username").value;
24 if (uname == "") {
25 return false;
26 }
27 var url = 'DataProvider.ashx';
28 var sdata = "username=" + uname;
29 XMLHttp.sendReq("post", url, sdata, CallbackSuccess);
30 }
31 function checkUsernameUsage() {
32 clearTimeout(usernameCheckerTimer);
33 document.getElementById("check_username_info").innerHTML = "检测中,请稍等 ";
34 document.getElementById("check_username_info").className = "WarningMsg";
35 //delay time 750ms
36 sernameCheckerTimer = setTimeout("checkIsExist();", 750);
37 }
38 </script>
39
40 </head>
41 <body>
42 <form id="form1" runat="server">
43 <div class="Hint">
44 用户名:</div>
45 <div class="Input" style="width: 210px">
46 <input id="username" type="text" size="24" value="" />
47 <br />
48 <input type="button" name="check_username" value="检查用户名是否可用" onclick="checkUsernameUsage();" />
49 </div>
50 <div class="Info" style="width: 360px">
51 <div id="username_info">
52 </div>
53 <div id="check_username_info">
54 </div>
55 </div>
56 </form>
57 </body>
58 </html>
59
接收数据的httphandler
1 /// <summary>
2 /// Recevice Httphandler
3 /// <remarks>Author PetterLiu http://wintersun.cnblogs.com</remarks>
4 /// </summary>
5 [WebService(Namespace = "http://tempuri.org/")]
6 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
7 public class DataProvider : IHttpHandler
8 {
9 /// <summary>
10 /// Process logic
11 /// </summary>
12 /// <param name="context">HttpContext</param>
13 public void ProcessRequest(HttpContext context)
14 {
15 string username = context.Request.Form["username"];
16 if (username == "petter")
17 context.Response.Write("用户名已存在。");
18 else
19 context.Response.Write("恭喜你,你可以使用此用户名。");
20 }
21
22 public bool IsReusable
23 {
24 get
25 {
26 return false;
27 }
28 }
29 }
发表评论
-
解析<button>和<input type="button"> 的区别
2012-06-15 00:01 57264一、定义和用法 <button> 标签定义 ... -
提交方法:post和get比较
2012-06-11 00:27 13908我们知道,从一个页面转向另一个页面的请求方式有两种,那 ... -
Servlet学习的小总结
2012-05-08 23:02 42361,什么是Servlet 2,Servlet有什么作用 ... -
Java 之 Array 数组
2012-04-23 22:06 1108Java反射技术除了可以在运行时动态地决定要创建什么类型的对象 ... -
Java 之 String 类型
2012-04-23 22:05 10961. String是一个对象 因为对象的默认值是null,所以 ... -
Java 基本数据类型 sizeof 功能
2012-04-23 22:05 1089Java基本数据类型int 32bitshor ... -
Java Date 和 Calendar
2012-04-23 22:03 981Java 语言的Date(日期),Calendar(日历 ... -
Java Date 和 Calendar 实例
2012-04-23 22:01 1091Java 之 Date 和 Calendar 实例 [ ... -
s5pc110 uboot
2012-04-22 14:53 14831.No MBR错误 如果提示如下错误:Error: ... -
Centos5.4 消息队列rabbitmq的安装及使用
2012-04-22 14:52 1499消息队列的使用能使一些操作异步化,从而能更快的响应用户 ... -
Oracle 在 2011 年取得的 Java 主要成就
2012-04-17 23:54 1515甲骨文公司继续推动 Java 前进的战略。自2010年1 ... -
java如何对Oracle中数据进行备份
2012-04-17 23:52 1420背景:在删除大量数据前,对这些数据进行备份 ... -
JAVA读取Oracle中的blob图片字段并显示
2012-04-17 23:51 2591近期,在给客户做一个Demo页面时,需要用JAVA读取O ... -
Java Build工具Ant与Maven之比较
2012-04-15 23:42 1516没有一件东西能满足你的全部想法除非你自己创造一个出来。同 ... -
一个支持chrome、firefox的全屏插件
2012-04-15 23:37 2004插件代码 (function(){ var fu ... -
js操作checkbox
2012-04-15 23:36 1088遇到操作checkbox的问题全选$("input[ ...
相关推荐
【jQuery+Ajax实现用户名重名实时检测】 在网页应用程序中,尤其是在用户注册的过程中,确保用户名的独特性是非常重要的。为了提高用户体验,实时检测用户名是否已被其他用户占用的功能变得越来越常见。本文将详细...
### 异步Ajax验证用户名(防止重名) #### 背景 在现代Web开发中,确保用户在注册过程中的信息唯一性是非常重要的。为了避免用户名重复的问题,开发人员经常使用Ajax技术来实现实时的用户名验证功能。这种方式不仅...
在网页开发中,Ajax(Asynchronous JavaScript and XML)...综上所述,"Ajax局部刷新验证重名"涵盖了从基本的Ajax原理到具体的重名验证实现,再到前端开发中的最佳实践等多个方面,对于Web开发者来说是必备的技术之一。
这个小案例主要关注如何利用Ajax技术实现实时、无刷新的用户名验证。Ajax,即Asynchronous JavaScript and XML(异步JavaScript与XML),是一种创建交互式网页应用的网页开发技术,它允许在不重新加载整个页面的情况...
在本场景中,我们探讨的是如何使用Ajax进行表单验证,特别是针对用户输入的唯一性检查,例如检测用户名是否重名。这种功能在注册、创建账号或者设置唯一标识符的场合非常常见,它能提供即时反馈,提升用户体验。 ...
综上所述,这个项目展示了Spring Boot作为基础框架,Mybatis Plus作为数据访问层,以及Thymeleaf作为视图层的集成应用,实现了用户登录验证和用户名重复检查的关键功能。这样的组合使得开发过程更为高效,同时提供了...
在IT行业中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于网页和应用程序,以实现页面的无刷新更新。本示例“ajax登录验证”聚焦于使用Ajax与Java后端进行用户登录验证,这是一个常见的功能需求,特别...
在这个场景中,我们将深入探讨如何使用jQuery和Ajax技术来实现这一功能。 首先,我们需要理解jQuery的基本用法。jQuery库通过选择器(如`$("#elementID")`)来选取DOM元素,并提供了一系列方法(如`.click()`, `....
在ASP源码中,"Ajax简易留言本"是一个典型的Web应用程序示例,它结合了ASP技术和Ajax(Asynchronous JavaScript and XML)来实现无刷新的交互体验。 Ajax的核心在于其异步特性,它允许在不重新加载整个网页的情况下...
这个"ajax-user-name-uniqueness-check.zip"压缩包文件包含了一个实现此功能的示例,利用AJAX(Asynchronous JavaScript and XML)技术进行异步验证。下面将详细介绍这个过程及其相关知识点。 1. **AJAX基础**: ...
【Ajax聊天室源代码】是一种基于Ajax技术实现的实时在线交流平台,允许用户无需刷新页面就能进行即时通讯。Ajax(Asynchronous JavaScript and XML)的核心在于通过JavaScript与服务器进行异步数据交互,提升了网页...
本篇将详细介绍如何利用JSP和MySQL实现一个基础的用户注册与登录功能,并进行用户名重名验证。 ### 1. JSP简介 JSP是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,以实现服务器端的业务逻辑处理...
这可以通过在用户名输入框失去焦点或输入达到最小长度时触发Ajax请求来实现。 此外,jQuery.validationEngine还支持多种语言,你可以根据需要切换到相应的语言版本。同时,它支持自定义提示信息和验证效果,使得...
`username_check`模块提供了这个功能,它在用户提交新用户名之前进行实时检查,避免了因重名导致的注册失败。 该模块的工作原理是,在用户输入用户名并点击“检查可用性”或类似按钮时,它会发送一个 AJAX 请求到...
通过使用Ajax,我们可以实现页面的无刷新通信,提高用户体验。在这里,Ajax被用来向服务器发送验证请求,并接收响应。 3. **Post请求**: 在Ajax中,通常使用`$.ajax()`或`$.post()`方法发送HTTP POST请求。POST请求...
* 用户名ajax校验是否重名。 * 建立连接后,订阅user、lobby、private通道。(实时接收消息) * 消息角标提醒。 * 与不同用户的聊天界面切换。 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下...
以上操作,对于用户体验方面来说是比较“差劲”的,一个很好的用户体验就是:当用户输入完注册用户名后,Web系统应能即时检查并即时显示,并在检查和显示的同时不影响当前页面的操作。这也就是“异步获取数据”的...
Ajax重名验证在用户注册时尤为重要,它通过异步方式检查用户名是否已被占用,增强了用户体验,避免了页面刷新。 接着,Hibernate作为持久层框架,管理数据库操作。在EasyBBS中,用户信息、帖子内容等数据都需存储在...