先来看看原理图
register.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ajax无刷新检测</title>
<style type="text/css">
body{margin:0;padding:0;}.content{width:800px;margin:0 auto;}ul,li{list-style: none;margin:0;padding:0;}
tr{width:200px;}td{width:80px;padding:5px 0;}td input,textarea{border: 1px solid #79ABFE;}
</style>
</head>
<body>
<div class="content">
<script>
myXmlHttpRequest.ContentType=("text/xml;charset=UTF-8");
//创建ajax引擎(1号线)
function getXmlHttpObject(){
var xmlHttpRequest;
//不同浏览器获取对象xmlHttpRequest方法不一样
if(window.ActiveXObject){
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttpRequest=new XMLHttpRequest();
}
return xmlHttpRequest;
}
//验证用户名是否存在
var myXmlHttpRequest="";//因为chuli也用到了,所以要定义为全局变量
//创建方法(2号线 http请求)
function checkName(){
//创建对象
myXmlHttpRequest=getXmlHttpObject();
//判断是否创建ok
if(myXmlHttpRequest){
//通过myXmlHttpRequest对象发送请求到服务器的某个页面
var url="./registerPro1.php";
//要发送的数据
var data="username="+$('username').value;
//打开请求
myXmlHttpRequest.open("post",url,true);//ture表示使用异步机制
//POST方法
myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//指定回调函数,chuli是函数名(registerPro里的数据返回给chuli函数)
myXmlHttpRequest.onreadystatechange=chuli;
//开始发送数据,如果是get请求则填入null即可,如果是post请求则填入实际的数据
myXmlHttpRequest.send(data);
}
}
//回调函数(4号线)
function chuli(){
//取出从registerPro.php页面返回的数据(4表示完成,200表示成功)
if(myXmlHttpRequest.readyState==4){
if(myXmlHttpRequest.status==200){
//①、取出值,根据返回信息的格式定 text(html)
//$('result').value=myXmlHttpRequest.responseText;
//②、取出xml格式数据(解析)
//获取mes节点、这里的mes返回的是节点列表(不知道有几个mes)
//var mes=myXmlHttpRequest.responseXML.getElementsByTagName("mes");
//取出mes节点值
//mes[0]->表示取出第一个mes节点
//mes[0].childNodes[0]->表示取出mes节点的第一个子节点
//var mes_val=mes[0].childNodes[0].nodeValue;
//$("result").value=mes_val;
//③、json格式
//var mes=myXmlHttpRequest.responseText;
//使用eval函数,将mes字串转为对象
//var mes_obj=eval("("+mes+")");
//$('result').value=mes_obj.res;
//③+、json格式扩展
var mes=myXmlHttpRequest.responseText;
var mes_obj=eval("("+mes+")");
$('result').value=mes_obj[0].res;
}
}
}
//封装一个函数,通过id号获取对象
function $(id){
return document.getElementById(id);
}
</script>
<br/>
<strong style="color:red">发表留言</strong>
<form action="#" method="POST" name="frm">
<table cellpadding="0" cellspacing="0" >
<tr>
<td >留言标题:</td>
<td><input type="text" name="title" autocomplete="off"/></td>
</tr>
<tr>
<td>网名:</td>
<td>
<input id="username" onkeyup="checkName();" type="text" name="username" autocomplete="off"/>
<td><input id="result" type="text" style="width:110px;font-size: 12px;border-width:0;" ></td>
</td>
</tr>
<tr>
<td>留言内容:</td>
<td><textarea name="content" cols="26" rows="5" autocomplete="off"/ onclick="showNotice(this)"></textarea></td>
</tr>
<tr>
<td></td>
<td><input class="btn" type="submit" name="submit" value="提交"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>
registerPro1.php
<?php
//将数据(text格式,xml格式,json格式)返回到ajax引擎(3号线 http响应 )
//header("Content-Type: text/xml; charset=utf-8"); //告诉浏览器,返回的是xml格式
header("Content-Type: text/html; charset=utf-8"); //告诉浏览器,返回的是text/json格式
$username = $_POST["username"];
//①
// if($username=="abc"){
// echo '网名不可用';
// }else{
// echo '网名可用';
// }
//②
// $info="";
// if($username=="abc"){
// $info.="<res><mes>网名不可用</mes></res>";
// }else{
// $info.="<res><mes>网名可用</mes></res>";
// }
// echo $info;
//③
// $info="";
// if($username=="abc"){
// //这里的$info返回的是一个字串
// $info.='{"res":"不可用","id":"123","age":"5"}';
// }else{
// $info.='{"res":"可用","id":"3","age":"1"}';
// }
// echo $info;
//③+
$info="";
if($username=="abc"){
//这里的$info返回的是一个字串
$info.='[{"res":"不可用","id":"123","age":"5"},{"res":"abc不可用","id":"3","age":"0"}]';
}else{
$info.='[{"res":"可用","id":"1","age":"15"},{"res":"可用","id":"83","age":"9"}]';
}
echo $info;
?>
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ajax用户名检测
# ajax无刷新检测用户名
# ajax检测用户名功能
# 利用Ajax检测用户名是否被占用的完整实例
# JQuery Ajax如何实现注册检测用户名
# PHP+Ajax实现的检测用户名功能简单示例
# AJAX应用实例之检测用户名是否唯一(实例代码)
# jQuery+Ajax实现用户名重名实时检测
# 使用Ajax实时检测"用户名、邮箱等"是否已经存在
# PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
# Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
# jquery ajax 检测用户注册时用户名是否存在
# PHP+AJAX实现无刷新注册(带用户名实时检测)
# ajax 检测用户名是否被占用
# AJAX检测用户名是否存在的方法
# 的是
# 网名
# 不可用
# 字串
# 回调
# 填入
# 第一个
# 留言内容
# 有几个
# 先来
# 也用
# 大家多多
# 是否存在
# 发表留言
# 判断是否
# 全局变量
# 一个函数
# script
# div
# ABFE
相关文章:
上海网站制作开发公司,上海买房比较好的网站有哪些?
建站之星安装步骤有哪些常见问题?
建站之星如何取消后台验证码生成?
建站VPS配置与SEO优化指南:关键词排名提升策略
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
已有域名和空间如何快速搭建网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站主机CVM配置优化、SEO策略与性能提升指南
已有域名能否直接搭建网站?
python的本地网站制作,如何创建本地站点?
建站之星在线客服如何快速接入解答?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何在万网主机上快速搭建网站?
广州美橙建站如何快速搭建多端合一网站?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何快速配置高效服务器建站软件?
,有什么在线背英语单词效率比较高的网站?
如何自定义建站之星模板颜色并下载新样式?
Swift中switch语句区间和元组模式匹配
网站代码制作软件有哪些,如何生成自己网站的代码?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
潮流网站制作头像软件下载,适合母子的网名有哪些?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
济南企业网站制作公司,济南社保单位网上缴费步骤?
如何在阿里云ECS服务器部署织梦CMS网站?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
音响网站制作视频教程,隆霸音响官方网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
微信小程序 五星评分(包括半颗星评分)实例代码
如何通过万网虚拟主机快速搭建网站?
公司门户网站制作流程,华为官网怎么做?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之星安装模板失败:服务器环境不兼容?
建站主机如何安装配置?新手必看操作指南
宝塔建站助手安装配置与建站模板使用全流程解析
定制建站是什么?如何实现个性化需求?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
网站制作壁纸教程视频,电脑壁纸网站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
济南专业网站制作公司,济南信息工程学校怎么样?
建站之星如何助力网站排名飙升?揭秘高效技巧
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
javascript中对象的定义、使用以及对象和原型链操作小结
建站之星后台管理:高效配置与模板优化提升用户体验
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
北京企业网站设计制作公司,北京铁路集团官方网站?
如何通过山东自助建站平台快速注册域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。