Ajax实时验证用户名/邮箱等是否已经存在的代码打包
一个网站采用Ajax技术,不仅可以改善网站的用户体验性,而且大大节约了宝贵的带宽,减轻了服务器负荷(不再需要交互整个网页内容,而是局部)。
今天分享一个“利用Ajax技术来检测用户名是否存在”的例子。
利用Ajax技术来检测用户名是否存在的原理流程图:
最终结果截图:
代码如下:
代码解释:
①实现该功能的核心代码在ajax.js,需要另外引进
②给form命名,因为后面我们需要利用JS来取得input框中的value
③给input框添加一个“onblur”事件,即当“焦点”失去时触发该事件(即流程图的“触发控件”)
④用来放从服务器发送回来的数据(即“用户名已存在”等)
代码如下:
mysql_connect("localhost",'root','');
mysql_select_db('test');
$sql="select * from ajax where name='$_GET[id]'";
$query=mysql_query($sql);
if(is_array(mysql_fetch_array($query))){
echo "用户名已存在";
}else{
echo "用户名可以使用";
}
?>
代码解释:
通过ajax的open方法,将用户输入”用户名“通过id传递给进来(即$_GET[id]),此时将对指定的数据库表中进行查询,检查是否有存在该“用户名”
ajax.js
代码如下:
// JavaScript Document
var XHR; //定义一个全局对象
function createXHR(){ //首先我们得创建一个XMLHttpRequest对象
if(window.ActiveXObject){//IE的低版本系类
XHR=new ActiveXObject('Microsoft.XMLHTTP');//之前IE垄断了整个浏览器市场,没遵循W3C标准,所以就有了这句代码。。。但IE6之后开始有所改观
}else if(window.XMLHttpRequest){//非IE系列的浏览器,但包括IE7 IE8
XHR=new XMLHttpRequest();
}
}
function checkname(){
var username=document.myform.user.value;
createXHR();
XHR.open("GET","checkname.php?id="+username,true);//true:表示异步传输,而不等send()方法返回结果,这正是ajax的核心思想
XHR.onreadystatechange=byhongfei;//当状态改变时,调用byhongfei这个方法,方法的内容我们另外定义
XHR.send(null);
}
function byhongfei(){
if(XHR.readyState == 4){//关于Ajax引擎对象中的方法和属性,可以参考我的另一篇博文:http://www.cnblogs.com/hongfei/archive/2011/11/29/2265377.html
if(XHR.status == 200){
var textHTML=XHR.responseText;
document.getElementById('checkbox').innerHTML=textHTML;
}
}
}
代码解释:
①首先我们需要声明一个ajax引擎的对象:XHR(随便命名一个)
②因为微软的低版本IE和其他的浏览器创建ajax对象的方式不一样,现在IE和其他浏览器的市场份额几乎各占一半,所以我们得两方面都考虑到,IE-->ActiveXObject;其他-->XMLHttpRequest。我将她封装在一个函数中:createXHR
③我们在index.html中指定的当失去“焦点”时就会触发checkname()函数。那么我们如何将用户输入的“用户名”捕获呢?这里,利用js即可轻松捕获到document.myform.user.value(现在知道为何给form和input命名了吧,这一步对应流程图的“获得填写内容”),有兴趣的博友,可以试试在createXHR()的前一行敲行代码(alert(username)),将捕获到的用户名弹出试试看。
④Ajax引擎有几个方法和属性(可以参考我的另一篇博文:看图理解:普通交互方式和Ajax交互方式区别),使用之前我们得先调用函数craateXHR创建一个ajax对象
⑤有了ajax对象,有三个方法是必不可少的:open()、onreadystatechange、send()。
将请求发送到服务器,要使用open ()和send()方法
open()方法的第一个参数,指示采用GET或者POST方式进行传输。。。。。。
open()方法的第二个参数,指示要请求的URL地址(这里我们请求的是checkname.php文件),可以是绝对或相对地址
open()方法的第三个参数async指示是否采用异步请求,true为采用,这种情况下,通过ajax、js无需等待服务器响应,而是:①在等待服务器响应的同时执行其他脚本②当响应就绪后对响应进行处理。一般对一些小型的请求,async=false也是可以的,但此时就不要编写onreadystatechange 函数了
onreadystatechange事件:当ajax的属性readyState改变时,就触发此事件。在此事件中,当服务器响应已做好被处理的准备时(即readyState=4且status=200时),我们规定要让服务器做什么任务,这里我们规定将从数据库检索到的结果输出到id为”checkbox“的span标签中。
⑥通过checkname.php,查询数据库后,将得到查询结果(即服务器的响应,对应流程图中的”查询数据库“),此时数据还在ajax引擎中,如需获得该来自服务器的响应,我们需要使用XMLHttpRequest对象的responText或responseXML属性,并通过DOM属性innerHTML将从服务器响应回来的数据设置为id=”checkbox“的span标签的值
注:利用ajax监测邮箱是否存在一个道理,我们还可以利用ajax实时监测用户输入的密码强度,此时,需要用到可以把onblur事件改为onfocus事件。
原创 cnblogs 小飞
源码打包下载

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 공식 웹 사이트에 액세스하는 것부터 등록 정보 작성, 등록 정보 작성, 확인, 사용자 계약 읽기 등의 모든 단계를 다루는 자세한 Gate.io 등록 자습서를 제공합니다.이 기사는 또한 2 차 검증을 설정하고 실제 인증을 설정하고 초보자의 디지털 자산 거래를 시작하는 등의 성공적인 등록을 성공적으로 등록한 후 보안 조치를 강조합니다.

이 기사는 초보자에게 자세한 GATE.IO 등록 자습서를 제공하여 공식 웹 사이트 액세스, 정보 작성, 신원 확인 등을 포함하여 등록 프로세스를 점차적으로 완료하도록 안내하고 등록 후 보안 설정을 강조합니다. 또한이 기사는 Binance, Ouyi 및 참깨 오픈 도어와 같은 다른 교환을 언급했습니다. 초보자는 자신의 요구에 따라 올바른 플랫폼을 선택하고 독자들에게 디지털 자산 투자가 위험하고 합리적으로 투자해야한다는 것을 상기시키는 것이 좋습니다.

로그인 단계 및 암호 복구 프로세스를 포함하여 참깨 오픈 exchange 웹 버전의 로그인 작업에 대한 자세한 소개는 로그인 실패, 페이지를 열 수 없으며 플랫폼에 부드럽게 로그인 할 수없는 일반적인 문제에 대한 솔루션을 제공합니다.

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

이 기사는 사용자가 디지털 자산 거래를 쉽게 시작할 수 있도록 자세한 Gate.io 웹 버전 최신 등록 자습서를 제공합니다. 이 자습서는 공식 웹 사이트에 액세스하는 것부터 등록 완료에 이르기까지 모든 단계를 다루고 등록 후 보안 설정을 강조합니다. 이 기사는 또한 Binance, Ouyi 및 참깨 오픈 도어와 같은 다른 거래 플랫폼을 간략하게 소개합니다. 사용자는 자신의 요구에 따라 올바른 플랫폼을 선택하고 투자 위험에주의를 기울이는 것이 좋습니다.

OKX OUYI는 주요 암호 화폐 거래 플랫폼입니다. 이 기사는 OKX OUYI 공식 웹 사이트 계정을 등록하는 방법에 대한 자세한 단계를 제공합니다. 공식 웹 사이트에 액세스하는 방법을 배우고 등록 방법을 선택하고 필요한 정보를 작성하고 등록 절차를 완료합니다. 이 기사에는 실제 개인 정보를 사용하는 것의 중요성과 강력한 비밀번호를 설정하는 것과 같은 예방 조치에 대한 정보도 포함되어 있습니다.

Gateio Exchange 앱은 공식, 제 3 자 애플리케이션 시장, 포럼 커뮤니티 및 기타 채널을 다루는 기존 버전의 채널을 다운로드합니다. 또한 기존 버전을 쉽게 얻고 새로운 버전 또는 장치 호환성을 사용하여 불편 함 문제를 해결하는 데 도움이됩니다.
