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 相关文章推荐
Jquery 设置标题的自动翻转
Oct 03 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
Aug 05 Javascript
JS实现具备延时功能的滑动门菜单效果
Sep 17 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
jquery.validate表单验证插件使用方法解析
Nov 07 Javascript
ES6学习之变量的解构赋值
Feb 12 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
Jul 10 Javascript
详解vue中使用express+fetch获取本地json文件
Oct 10 Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 Javascript
js实现限定区域范围拖拉拽效果
Nov 20 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
Python类及获取对象属性方法解析
2020/06/15 Python
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
大学自主招生自荐信范文
2014/02/26 职场文书
医院保洁服务方案
2014/06/11 职场文书
学生会辞职信
2015/03/02 职场文书
公司停电通知
2015/04/15 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫