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 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 Javascript
js判断屏幕分辨率的代码
Jul 16 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
JavaScript显示表单内元素数量的方法
Apr 02 Javascript
AngularJS模块管理问题的非常规处理方法
Apr 29 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
第一次接触Bootstrap框架
Oct 24 Javascript
详解如何创建并发布一个 vue 组件
Nov 08 Javascript
Javascript读写cookie的实例源码
Mar 16 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 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
php header示例代码(推荐)
2010/09/08 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
php计算整个目录大小的方法
2015/06/19 PHP
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
python实现Decorator模式实例代码
2018/02/09 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python内存映射文件读写方式
2020/04/24 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python之随机数函数的实现示例
2020/12/30 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
整改落实情况汇报材料
2014/10/29 职场文书
教师辞职书范文
2015/02/26 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers