jQuery基于ajax方式实现用户名存在性检查功能示例


Posted in Javascript onFebruary 10, 2017

本文实例讲述了jQuery基于ajax方式实现用户名存在性检查功能。分享给大家供大家参考,具体如下:

对于拥有会员功能的网站,尤其是会员登录后可以留言或评论的网站,一般要求不能有两个或两个以上相同的用户名存在。因此,在用户注册的时就需要对用户名是否已经被注册进行检查防止出现相同的用户名。下面是我实现这种功能的一种解决方案。

1、方案原理:利用ajax的异步请求不刷新正在注册的页面向后端发送请求,后端对请求数据进行处理返回用户名是否已经存在的结果。

2、方案详情

(1)html代码部分,运用了input标签的onblur事件调用相应的js函数。

<div class="pull-left">
  <input id="username" name="username" type="text" class="form-control isUsername" onblur = "CheckUserName()">
</div>

(2)Jquery部分,采用了ajax技术

function CheckUserName()
{
  var userName = $("#username").val();
  var Option =
  {
    url: encodeURI('/Handler/AuthAccounts.ashx?action=checkusername&userName='+userName),
    type: "get",
    dataType: 'text',
    cache: false, //设置为 false 将不会从浏览器缓存中加载请求信息。
    async: true, //(默认: true),所有请求均为异步请求。发送同步请求,请将此选项设置为 false。同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
    timeout: 150000, //设置请求超时时间(毫秒)。此设置将覆盖全局设置。
    error: function ()
    {
    },
    success: function (data, textStatus)
    {
      if (data == null || data == undefined)
      {
        return false;
      }
      jsondata = eval('(' + data + ')');
      if (jsondata.state == "success")
      {
        alert(jsondata.message);
        return false;
      }
    },
    beforeSend: function () //检查之前,是否通过格式验证
    {
      var text = $("#username-error").text();
      if (text != ""&&text!=undefined&&text!=null)
      {
        return false;
      }
    }
  };
  jQuery.ajax(Option);
  return false;
}

(3)后端一般应用处理程序

/// <summary>
/// 检查用户名是否已经存在
/// </summary>
/// <param name="context"></param>
protected void CheckUserName(string userName)
{
   CommonStruct commonStruct = new CommonStruct();
   if (userName != "" && userName!=string.Empty)
   {
     QingCi.Model.ExecResultData result = QingCi.BLL.AuthAccounts.CheckUserNameExist(userName);
     if (result.State == stateSuccess)
     {
       commonStruct.state = stateSuccess;
       commonStruct.message = result.Message;
      HttpContext.Current.Response.Write(serializer.Serialize(commonStruct));
      HttpContext.Current.Response.End();
     }
   }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
让你的CSS像Jquery一样做筛选的实现方法
Jul 10 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
node实现socket链接与GPRS进行通信的方法
May 20 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
Nov 09 Javascript
webpack4从0搭建组件库的实现
Nov 29 Javascript
JS实现百度搜索框
Feb 25 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
Feb 10 #Javascript
javascript自执行函数
Feb 10 #Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 #Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 #Javascript
JS验证不重复验证码
Feb 10 #Javascript
使用jquery给新生的th绑定hover事件的实例
Feb 10 #Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 #Javascript
You might like
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
php对数组排序代码分享
2014/02/24 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
js实现批量删除功能
2020/08/27 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
wxpython 学习笔记 第一天
2009/02/09 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
基python实现多线程网页爬虫
2015/09/06 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
详解django中Template语言
2020/02/22 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
文秘大学生求职信
2014/02/25 职场文书
单位接收函范文
2015/01/30 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书