php异步检测用户名是否存在,AJAX_Ajax——异步检查用户名是否存在示例,在任何网站注册用户的时候, - phpStudy...
Ajax——异步检查用户名是否存在示例
在任何网站注册用户的时候,都会检查用户是否已经存在。很久以前的处理方式是将所有数据提交到服务器端进行验证,很显然这种方式的用户体验很不好;后来有了Ajax,有了异步交互,当用户输完用户名继续填写其他信息的时候,Ajax就将信息发到了服务器去检查该用户名是否已经被注册了,这样如果用户名已经存在,不用等用户将所有数据都提交就可以给出提示。采用这种方式大大改善了用户体验。
regist.jsp
pageEncoding="UTF-8"%>
Insert title here
var xmlHttp;
//创建Ajax核心对象XMLHttpRequest
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function checkUsername(username){
createXMLHttp();
//设置请求方式为GET,设置请求的URL,设置为异步提交
xmlHttp.open("GET","CheckServlet?username="+username,true);
//将方法地址复制给onreadystatechange属性
//类似于电话号码
xmlHttp.onreadystatechange = checkUsernameCallback();
//将设置信息发送到Ajax引擎
xmlHttp.send(null);
}
function checkUsernameCallback(){
//Ajax引擎状态为成功
if(xmlHttp.readyState == 4){
//HTTP协议状态为成功
if(xmlHttp.status == 200){
var text = xmlHttp.responseText;
if(text == "true"){
document.getElementById("msg").innerHTML = "此用户名已存在,无法使用!";
}else{
document.getElementById("msg").innerHTML = "此用户名可以使用";
}
}
}
}
用户名:
密 码:
CheckServlet.java
public class CheckServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static final String DBURL = "jdbc:sqlserver://localhost:1433;DatabaseName=bbs";
public static final String DBUSER = "sa";
public static final String DBPASS = "pass";
public CheckServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
PrintWriter out = response.getWriter();
String username = request.getParameter("usernaem");
try{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "select count(username) from user where username=?";
pst = conn.prepareStatement(sql);
pst.setString(1,username);
rs = pst.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0){//用户名已经存在了
out.print("true");
}else{
out.print("false");
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}相关阅读:
HTML常用标签大全及html标签的特点
Android中通过AsyncTask类来制作炫酷进度条的实例教程
探寻Android的线程问题
Android的APK应用签名机制以及读取签名的方法
IE下模拟css3中的box-shadow(阴影)效果代码
Java锁之阻塞锁介绍和代码实例
Android4.2中全屏或者取消标题栏的方法总结
Java操作FreeMarker模板引擎的基本用法示例小结
WinXP开启任何程序任务栏出现2个相同标签的解决方法
利用SVG和CSS3来实现一个炫酷的边框动画
php使用unset()删除数组中某个单元(键)的方法
Fedora 7.0 中文输入法
实用的简单PHP分页集合包括使用方法
android读取assets文件示例
php异步检测用户名是否存在,AJAX_Ajax——异步检查用户名是否存在示例,在任何网站注册用户的时候, - phpStudy...相关推荐
- Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性
Vim之代码异步检测插件 ALE 前言 知名的 vim 代码检测插件主要是两个 syntastic neomake ALE ALE 虽是后起之秀,但目前是功能最强大的一个 实时检测.为了让代码可以在编 ...
- ale插件 vim_Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性
Vim之代码异步检测插件 ALE 前言 知名的 vim 代码检测插件主要是两个 syntastic neomake ALE ALE 虽是后起之秀,但目前是功能最强大的一个 实时检测.为了让代码可以在编 ...
- AJAX异步检查,检查用户名是否存在
AJAX异步检查,检查用户名是否存在 写法一: var xmlHttp;if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Op ...
- 【转】1.7异步编程:基于事件的异步编程模式(EAP)
传送门:异步编程系列目录-- 上一篇,我给大家介绍了".NET1.0 IAsyncResult异步编程模型(APM)",通过Begin*** 开启操作并返回IAsyncResult ...
- 【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
OkHttp 系列文章目录 [OkHttp]OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) [OkHttp]Android 项目导入 OkHttp ( 配置依赖 | 配置 ...
- javascript等待异步线程完成_JavaScript 中的异步原理
来源:极链科技 作者:周哲 所谓"异步" ,简单说就是一个任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段.比如,有一个任务是读取文件进行处理,异 ...
- nodejs ajax进度条,Ajax异步文件上传与NodeJS express服务端处理的示例分析
Ajax异步文件上传与NodeJS express服务端处理的示例分析 发布时间:2021-07-24 11:17:21 来源:亿速云 阅读:79 作者:小新 这篇文章主要介绍Ajax异步文件上传与N ...
- 深入理解python异步编程_深入理解Python异步编程
1 什么是异步编程 1.1 阻塞程序未得到所需计算资源时被挂起的状态. 程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的. 常见的阻塞形式有:网络I/O阻塞.磁盘I/O ...
- 同步电路出现异步清零可以吗_异步计数器 || 计数器的分类 ||异步二进制十进制|| 74290 8421 5421 || 数电...
异步计数器 || 计数器的分类 || 异步 二进制 十进制 || 74290 || 数电 这一节介绍异步二进制计数器. 计数器功能: 计数器是对输入脉冲个数进行计数的时序电路. 计数器除了直接用于计数 ...
最新文章
- Office 365系列之十:批量部署O365客户端
- SVN trunk branches tags 的用法 - 摘自网络
- 依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式
- Tech.Ed上海会场都结束了!
- python 遍历内嵌tuple_python内置数据结构list、set、dict、tuple(一)
- OpenGL基础11:空间
- php试题多选,php考试题 (选择题).doc
- 用极域课堂软件卸载软件
- uniapp app中导出手机号码到通讯录
- Profinet协议基础知识(一)
- 数据可视化图表总结(一)
- 14.spring aop之aspect切入点语法详解
- 自动驾驶领域的Android?百度能否超越特斯拉和谷歌
- 在centos中注册gitlab runner
- 兔年伊始谈闲书:三体-乌合之众-百年孤独 和《猫城记》(随笔)
- PCB正片和负片有什么区别
- 数据仓库和数据库的区别
- html div标签空白占位,空白符对HTML结构的影响与解决方案
- 健身教练学习书籍推荐-结合知乎
- 广州大学计算机网络实验2,计算机网络实验一_