AJAX异步检查,检查用户名是否存在

写法一:

 var xmlHttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlHttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
} console.log("xmlHttp,XHR,created"+xmlHttp.readyState);
var url = "validateUsername.jsp?username=" + trim(field.value) + "&time=" + new Date().getTime(); //设置请求方式为GET,设置请求的URL,设置为异步提交
xmlHttp.open("GET", url, true); //将方法地址复制给onreadystatechange属性 xmlHttp.onreadystatechange = function() {state_Change(xmlHttp);};
<span style="color:#ff0000;">//Bad Code</span> xmlHttp.onreadystatechange = state_Change(xmlHttp); //将设置信息发送到Ajax引擎
xmlHttp.send(null); } else { document.getElementById("CheckField").innerHTML = "";
}
function state_Change(xmlHttp) {
console.log("state_Change start");
//Ajax引擎状态为成功
if (xmlHttp.readyState == 4) {
//HTTP协议状态为成功
if (xmlHttp.status == 200) {
if (trim(xmlHttp.responseText) != "") {
//console.log("responseText: START___",xmlHttp.responseText," ___END");
if(trim(xmlHttp.responseText)=="OK"){
document.getElementById("userCheck").className="icon ticker";
document.getElementById("CheckField").innerHTML = "";
}
else{
document.getElementById("userCheck").className="";
document.getElementById("CheckField").innerHTML = "<font color='red' style='font-size:15px; line-height: 3; vertical-align:middle'>" + xmlHttp.responseText + "</font>";
}
}else {
document.getElementsByName("userCheck").className="icon into";
document.getElementById("CheckField").innerHTML = "";
}
}else {
alert("数据库可能出错,请求失败,错误码=" + xmlHttp.status);
}
}
}

写法二:

$(function() {
$("#checkbtn").click(function() { if ($("#searchkey").val() == "") {
console.log("searchkey is null");
alert("没有输入值!!!!");
} else { $.ajax({
url : "CheckID?searchkey=" + $("#searchkey").val(),
success : function(result) {
tablename = $("#searchform").children("[name='tablename']").val();
if(...){
if (result == "exsit") {
...
} else {
...
}
}else{ if (result == "exsit") {
... } else {
... } }
}
}); }
}); });

写法二比较简单,写法一比较原始。

使用异步的Ajax的好处是页面不用刷新,还能不需要点击什么按钮,不需要提交表单, 直接 由某事件自动提交到服务器进行 检查 取值等操作。

AJAX异步检查,检查用户名是否存在的更多相关文章

  1. ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码

    首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变? 先说一下为什么有这个需求:以提交注册信息页面为例,一般 ...

  2. Ajax案例-基于HTML,以GET或POST方式,检查注册用户名是否在数据库中已存在

    08_register.jsp <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTY ...

  3. param STRING $username 要检查的用户名

    检查用户名是否符合规定 两位以上的字母,数字,或者下划线,代码如下: php;auto-links:false;">/** * 检查用户名是否符合规定 * * @param STRIN ...

  4. Vim中异步语法检查ale配置

    注意 在设置let g:ale_sign_error = '✗'和let g:ale_sign_warning = '⚡'这些时,可能vim不让你保存,提示fenc这个东西. 所以,为了保险起见,你最 ...

  5. 触碰jQuery:AJAX异步详解

    触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML( ...

  6. jQuery调用AJAX异步详解[转]

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  7. 触碰jQuery:AJAX异步详解(转)

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  8. 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)

    使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...

  9. 利用ajax异步校验验证码(转)

    利用ajax异步校验验证码 示例结果如图所示 具体步骤如下: step1: jsp页面及js脚本 <%@page pageEncoding="utf-8" contentTy ...

随机推荐

  1. BeanFactory not initialized or already closed

    产生这个错误有两个可能, 一.你没有配置初始化文件,在web.xml中配置如下 <context-param> <param-name>contextConfigLocatio ...

  2. meta标签设置(移动端)

    一.首先出结论:移动端meta标签一般设置为: <meta content="width=device-width,initial-scale=1.0,maxinmum-scale=1 ...

  3. Spring boot 梳理 - WebMvcConfigurer接口 使用案例

    转:https://yq.aliyun.com/articles/617307 SpringBoot 确实为我们做了很多事情, 但有时候我们想要自己定义一些Handler,Interceptor,Vi ...

  4. Spring MVC-从零开始-如何访问静态资源

    转(Spring MVC静态资源处理)   优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置Dis ...

  5. layer.open打开一个新的jsp页面,如何关闭并刷新父页面问题

    layer.open打开一个新的jsp页面弹框,如何关闭呢? 在新的页面提交完毕之后,关闭并刷新父页面列表. layer.closeAll(); parent.layer.closeAll(); wi ...

  6. SpringBoot 定时任务实现方式

    定时任务实现的几种方式: Timer:是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行,但 ...

  7. 初识Hiberante框架和第一个案例

    今天想回顾一下一个月前学的hibernate框架,也让我了解了持久层的概念(访问数据库). 一.ORM概念 首先提的是ORM概念,O表示Object, R表示Relation(关系),关系型数据库,如 ...

  8. UVA12983 The Battle of Chibi

    第一眼能看出来是个dp O($n^3$) 暴力应该很好想 dp[i][j] = $\sum_{k=1}^i [a[k] < a[i]] *dp[k][j-1]$ 发现dp[i][j] 为前面小于 ...

  9. office2019激活

    这个是在网上偶然看见的一个激活方式,分享一下. 复制如下代码保存后修改文件后缀名为".bat",请注意有一个点,然后保存以管理员身份运行即可: @echo off(cd /d &q ...

  10. 二 mysql库表的详细操作

    目录 1.库操作 1.创建数据库 2.数据库相关操作 2.表操作 1.存储引擎 2.表介绍 3.创建表 4.查看表结构 5.MySQL的基础数据类型 6.表的完整性约束 7.修改表 alter tab ...