用户注册时,需要填写个人信息,其中包括用户名。当用户输入完成时,JavaScript 需要及时检测用户名是否存在,如果存在给出提示,请用户更换用户名。

当然,这个步骤可以在用户提交表单以后由后台程序检测,如果用户名已存在,用户需要返回注册页面重新填写用户名,而前面填写的其他信息也随着网页的跳转已经过期,全部需要重填,这对用户来说是极大的伤害。

因此,有必要使用 AJAX 在用户不提交信息的情况下及时检测用户名是否存在。

前台代码:

请输入用户名:

document.getElementById("demo").οnblur=function(){ // 输入框失去焦点

var thisNode=this;

var span=document.getElementById("result");

var xmlhttp;

try{

// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}catch(e){

// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState<4){ // 正在交互

span.style.color="blue";

span.innerHTML="正在检测...";

}

if (xmlhttp.readyState==4 && xmlhttp.status==200){ // 请求成功

if(parseInt(xmlhttp.responseText)){ // 将服务器返回的数据转换为整数

span.style.color="red";

span.innerHTML="抱歉,您填写的用户名已经存在!";

}else{

span.style.color="green";

span.innerHTML="恭喜你,填写正确!";

}

}

}

xmlhttp.open("POST","/demo/javascript/ajax/ajaxDemo.php?action=checkUserName",true);

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xmlhttp.send("username="+thisNode.value);

}

后台代码(PHP):

if($_GET['action']=="checkUserName"){

// 为简单起见,这里不再查询数据库,使用 3 个用户名作为示例

if(

$_POST['username']=="admin"||

$_POST['username']=="xiaoming"||

$_POST['username']=="zhangsan"

){

echo 1;

}else{

echo 0;

}

}

?>

实例演示(输入完成,请将焦点离开输入框):

请输入用户名:

说明:"admin"、"xiaoming"和"zhangsan"三个用户名已存在。

php异步检测用户名是否已经存在,AJAX实例-检测用户名是否存在相关推荐

  1. asp判断ajax请求 -asp.net,一个asp注册验证用户名是否重复的Ajax实例

    一个asp注册验证用户名是否重复的Ajax实例 1.需要用到的初始化xmlhttp实例和发送请求的javascript函数: 以下为引用的内容: // JavaScript Document func ...

  2. ajax检测用户名重复无效,用ajax实现检测注册用户名是否重复的完整例子

    ValidateName.java代码如下所示,并且采用userIsExist查找数据库看是否存在相同的用户名. package com.wuliu.test; import java.io.IOEx ...

  3. php注册验证用户名已存在,php ajax注册验证用户名是否存在代码_PHP教程

    php ajax注册验证用户名是否存在代码 这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册. php教程 ajax注册 ...

  4. jQuery+Ajax+Mysql 检测用户名注册时是否重名

    利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现.这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输. register.jsp 注册显 ...

  5. 在PHP中应用AJAX技术检测用户名是否重复

    <html> <head> <title>在PHP中应用AJAX技术检测用户名</title> <meta http-equiv="Co ...

  6. Ajax实现简单用户名重名查询

    很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下: XMLHttpRequest Object Pool /**  * XM ...

  7. 解决ajax劫持,Ajax实现检测网站劫持的方法

    这次给大家带来Ajax实现检测网站劫持的方法,Ajax实现检测网站劫持的注意事项有哪些,下面就是实战案例,一起来看一下. https可以彻底解决劫持的问题.但是一般虚拟主机都不支持 https,难道h ...

  8. php 异步进度条,PHP学习:PHP+Ajax异步带进度条上传文件实例

    <PHP学习:PHP+Ajax异步带进度条上传文件实例>要点: 本文介绍了PHP学习:PHP+Ajax异步带进度条上传文件实例,希望对您有用.如果有疑问,可以联系我们. PHP应用前端引入 ...

  9. mysql 验证用户名重复,Ajax案例——检验用户名是否重复

    一.环境搭建 1.导包 这个案例中使用的jar包有三个,需要导入到WEB-INF目录下的lib文件夹中. 导包 2.导入工具库 本案例使用的工具类是之前用过的JDBCUtils. import jav ...

最新文章

  1. 独家|华为进行组织架构调整 CloudAI升至第四大BG
  2. Spring Cloud Alibaba源码 - 16 Nacos 注册中心源码解析
  3. HDU - 6156 Palindrome Function(数位dp)
  4. 雅虎前端优化的35条军规
  5. LeetCode 395. 至少有K个重复字符的最长子串(分治)
  6. 数字反转(信息学奥赛一本通-T1089)
  7. css布局模型详细介绍
  8. 查看表的记录最多的sqll
  9. 奶茶店、粥店、火锅店卫生问题频出,如何通过视频监管系统保证群众饮食安全?
  10. pyqt5-事件机制
  11. 基于Uniapp实现的Android的校园二手商品交易平台App源码
  12. NBS-Predict:基于脑网络的机器学习预测
  13. 【听书笔记-0515】-《清单革命》
  14. SQL渗透与防御——(二)SQL注入
  15. 马斯洛金字塔的大秘密
  16. 王半仙儿的日记-0010——“在人生的十字路口,没有人会迷茫,但有人会胆怯。勤奋成就万事。”
  17. oracle的rowid和rownum,【oracle rowid与rownum的使用与区别 】
  18. [生而为人] 《送别》李叔同
  19. listbox java_ListBox控件
  20. 软件方法——业务建模和需求(好书推荐)

热门文章

  1. lisp求面与面的差集_AcGeVector3d是点阵的集合,通过等分点的差集得到。 新的点可以通过点与点阵相差得......
  2. Qt使用dmctk时的错误
  3. ES6新特征总结与介绍——声明与表达式
  4. linux内核对伙伴系统的改进--migrate_type
  5. coreData数据操作
  6. 关于port的关闭——Linux
  7. 《中秋书月》月圆之夜,我和德鲁克
  8. OA选型 寻找应用中的个性
  9. 华为V3.4-RIP命令总结
  10. C# Hook原理及EasyHook简易教程