Ajax 用户名验证是否存在

 更新时间:2008年12月27日 23:34:36   作者:  
做一个表单验证里面最简单的例子,检查用户名是否存在,使用Ajax完成表单验证的正常步骤应该是
客户端收集表单信息。
使用XMLHttpRequest对象提交到服务器。
服务器完成验证的逻辑,返回结果信息。
浏览器端根据服务器返回的信息对用户做出一定的提示。
不过由于我的空间不支持任何服务器段语言,所以把本应在服务器的逻辑搬到了浏览器,由JavaScript来做,服务器只负责提供一个用户名的列表。最后的效果如下,试着输入test,cainiao8这些用户名,都会显示已注册。
JavaScript代码分析
首先,当文档载入完毕的时候,给表格设置change事件的响应函数ajaxValidate,代码如下:
程序代码
addEventSimple(window,'load',function(){
var test = document.getElementById('username');
addEventSimple(test,'change',ajaxValidate);
}
这样,当用户名文本框内的值改变之后,就会调用ajaxValidate函数,其代码如下:
程序代码
function ajaxValidate(){
var options = {
url:'ajax/ajaxUsernames.xml',
listener:callback,
method:'GET'
}
var request = createRequest(options);
request.send(null);
}
它会使用之前介绍的createRequest函数初始化一个XMLHttpRequest对象,并且将它发送到服务器,请求ajaxUsernames.xml文件。
最后就是callback函数了:
程序代码
复制代码 代码如下:

function callback(){
var xmlDoc = this.responseXML;
var root = xmlDoc.getElementsByTagName('root')[0];
var nodes = root.getElementsByTagName("username");
var currentNode = null;
var username = document.getElementById('username').value;
for(var i = 0; i < nodes.length; i++) {
currentNode = nodes[i];
if(username == currentNode.childNodes[0].nodeValue){
document.getElementById('test').innerHTML = '对不起!'+username+'已经被注册。';
return;
}
}
document.getElementById('test').innerHTML = '用户名' + username +'可以使用!';
}

callback函数在已经存在的用户名搜索当前用户输入的名字,判断是否已经存在。

相关文章

  • Ajax解决多余刷新的两种方法(总结)

    Ajax解决多余刷新的两种方法(总结)

    下面小编就为大家带来一篇Ajax解决多余刷新的两种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • ajax问题总结 比较全

    ajax问题总结 比较全

    在看文章前,先指定一个变量xhr,xhr代表ajax对象。测试浏览器:ie为ie6,firefox为2,其他的未测试。统称ie6为ie,firefox2为ff。
    2011-01-01
  • Ajax+Servlet实现无刷新下拉联动效果

    Ajax+Servlet实现无刷新下拉联动效果

    这篇文章主要为大家详细介绍了Ajax+Servlet实现无刷新下拉联动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • ajax异步实现文件分片上传实例代码

    ajax异步实现文件分片上传实例代码

    这篇文章主要给大家介绍了关于ajax异步实现文件分片上传的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • AJAX工作原理及优缺点详解

    AJAX工作原理及优缺点详解

    AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。接下来通过本文给大家讲解ajax的工作原理及优缺点,感兴趣的朋友一起看看吧
    2016-11-11
  • ajax视频课件 在线观看地址

    ajax视频课件 在线观看地址

    ajax视频课件 在线观看地址...
    2007-05-05
  • 完成了AJAX树附原理分析

    完成了AJAX树附原理分析

    周五完成了计划中的RAILS框架中实现的AJAX树目录,今天才有空记录一下。
    2009-02-02
  • AjaxSubmit()提交file文件

    AjaxSubmit()提交file文件

    这篇文章主要介绍了AjaxSubmit()提交file文件的实例讲解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • [js]一个获取页面ip的正则

    [js]一个获取页面ip的正则

    [js]一个获取页面ip的正则...
    2007-07-07
  • Jquery中$.ajax()方法参数详解

    Jquery中$.ajax()方法参数详解

    本文是小编日常整理些有关jquery ajax()参数详解,由于jquery ajax方法参数比较多,靠大脑记住有点犯难,下面小编把内容整理分享到脚本之家网站,供大家参考
    2015-10-10

最新评论