jquery中用$.ajax实现注册(html、jquery、php、接口文档)、ajax验证用户提交数据
来源:互联网 发布:上海通用维修编程系统 编辑:程序博客网 时间:2024/06/05 15:34
网络上有很多用ajax实现前后台调用数据的例子,但是好多没有后台文件,这样让初学者学习的时候感觉很无助,不知道后台文件是什么样的,更不会写后台文件,所以今天整理一份前端html(jquery)、php文件及接口文档的例子
html文件需要放到服务器(WWW)下,register.php和registerCode.php文件只需要和html文件同级目录即可,接口文档即后台人员给前端人员的参考文档
主要用到jquery中的$.ajax()方法,验证的内容比较简单,大神们勿喷,仅帮助初学者更深刻的了解ajax使用方法
<!doctype html>
<html lang="en"><head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
ul li{
line-height: 40px;
}
.tips{
margin-top: 30px;
}
.tips>p{
width: 300px;
background: red;
text-align: center;
line-height: 40px;
color:#fff;
display: none;
}
#verity,#submit{
width: 120px;
line-height: 40px;
background: red;
color: #fff;
border: none;
border-radius: 5px;
}
input{
outline: none;
}
input.disabled{
background: #ccc !important;
}
</style>
</head>
<body>
<div class="register">
<ul>
<li>
<label for="username">用户名:</label>
<input type="text" id="username" />
</li>
<li>
<label for="pass">密码:</label>
<input type="password" id="pass"/>
</li>
<li>
<label for="repass">确认密码:</label>
<input type="password" id="repass"/>
</li>
<li>
<label for="mobile">手机号:</label>
<input type="text" id="mobile"/>
</li>
<li>
<label for="code">验证码:</label>
<input type="text" id="code"/>
<input type="button" value="获取验证码" id="verity"/>
</li>
<li>
<input type="button" value="立即注册" id="submit"/>
</li>
</ul>
</div>
<div class="tips">
<p>请输入手机号</p>
</div>
<script src="../jquery-3.2.1.min.js"></script>
<script>
$(function(){
var $tips=$('.tips>p');
$('body').on('click','#verity',function(){
var $mobile=$('#mobile').val();
var $verity=$('#verity');
$.ajax({
// 请求方式
type:'post',
// 后台接口地址(可从接口文档中查看)
url:'registerCode.php',
// 通过data把前端传输后台的必要信息传过去
data:{mobile:$mobile},
// 前后端数据交互的格式
dataType:'json',
// 发送请求之前,所要执行的函数
beforeSend:function(){
// 如果手机号为空,弹出提示信息
if($mobile==''){
$tips.html('请输入手机号').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 手机号为11位,以1开头,第二位为3,5,7,8,后9位都是数字
if(!/^1[3,5,7,8]\d{9}$/.test($mobile)){
$tips.html('请输入正确的手机号').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断$verity是否有disabled属性,如果有结束执行,相当于禁用按钮
if($verity.hasClass('disabled')){
return false;
}
// 手机号没有问题,改变$verity颜色,并且修改内部文字
$verity.val('正在发送').addClass('disabled');
},
// 发送请求成功,所要执行的函数
success:function(data){
//容错性,如果后台代码有问题,依然可以执行
//短路运算:声明的变量的值等于在短路运算中起决定性作用的值
// 定义:短路运算的值是起决定性作用的那个变量的值
// var a=XXX&&YYY
// var b=XXX||YYY
// 短路运算看的是boolean值
//' ' true '' false
//接受后台返回来的额数据
var time=data.result.time||10;
time=parseInt(time); //把time转换为整数
var timer=setInterval(function(){
if(time==0){
$verity.val('获取验证码').removeClass('disabled');
//当一个计时器之后不会再次使用的时候,直接清除
clearInterval(timer);
return false;
}
time--;
$verity.val(time+'秒后再次发送').addClass('disabled');
},1000);
}
})
});
$('body').on('click','#submit',function(){
var $name=$('#username').val();
var $pass=$('#pass').val();
var $repass=$('#repass').val();
var $mobile=$('#mobile').val();
var $code=$('#code').val();
var $submit=$('#submit');
$.ajax({
type:'post',
url:'register.php',
data:{
name:$name,
pass:$pass,
repass:$repass,
code:$code,
mobile:$mobile
},
dataType:'json',
beforeSend:function(){
// 判断用户名是否为空
if(!$name){
$tips.html('请输入用户名').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断密码是否为空
if(!$pass){
$tips.html('请输入密码').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断密码输入的长度是否为6~15之间
if($pass.length<6||$pass.length>15){
$tips.html('请输入6~15位密码').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断确认密码是否为空
if(!$repass){
$tips.html('请输入确认密码').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断密码和确认密码是否一致
if($pass!=$repass){
$tips.html('确认密码和密码不一致').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
//需要验证指定手机号与对应验证码是否匹配,因为无确切后台文件,所以无法匹配
// 判断验证码是否为空
if(!$code){
$tips.html('请输入验证码').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断验证码是否为4个数字
if(!/^\d{4}$/){
$tips.html('请正确的验证码').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
// 判断$submit按钮是否有disabled属性,如果没有添加属性,如果有结束执行
if($submit.hasClass('disabled')){
return false;
}
$submit.val('正在注册').addClass('disabled');
},
success:function(){
// code 当前业务逻辑的处理成功失败的标识 10000 成功 10001 用户存在 10002 没有输入用户名
if(data.code==10000){
$tips.html('注册成功').fadeIn(500).delay(1500).fadeOut(500);
return false;
}else if(data.code==10001){
$tips.html('用户名重复').fadeIn(500).delay(1500).fadeOut(500);
return false;
}else if(data.code==10001){
$tips.html('请输入用户名').fadeIn(500).delay(1500).fadeOut(500);
return false;
}
},
//当整个请求和响应的过程都执行完毕的时候执行的函数
complete:function(){
$submit.val('立即注册').removeClass('disabled');
return false;
}
})
})
})
</script>
</body>
</html>
<!--PHP两个文件代码如下:
register.php-->
<!--<?php
header('Content-Type:text/html;charset=utf-8');
// 服务端验证
//用户名必填校验
if($_POST['name']) {
//用户名是否存在校验
if($_POST['name'] != 'itcast'){
$arr = array(
'code'=>10000,
'msg'=>'注册成功!',
'result'=>array('name'=>$_POST['name'])
);
}else{
$arr = array(
'code'=>10001,
'msg'=>'注册失败!',
'result'=>array('name'=>$_POST['name'])
);
}
} else {
$arr = array(
'code'=>10002,
'msg'=>'注册失败!',
'result'=>'一些信息'
);
}
echo json_encode($arr);
sleep(1);
?>-->
<!--registerCode.php-->
<!--
<?php
header('Content-Type:text/html;charset=utf-8');
$mobile = $_POST['mobile'];
$arr = array(
'code'=>10000,
'msg'=>'获取短信验证码成功!',
'result'=>array(
'time'=> 10,
'mobile' =>$mobile
)
);
echo json_encode($arr);
sleep(1);
?>-->
<!--接口文档:
1.
接口说明:获取短信验证码
接口地址:registerCode.php
请求方式:post
接口传参:mobile 手机号
返回类型 json
接口返回:{"code":"10000","msg":"","result":{"time":"10","mobile":""}}
code 当前业务逻辑的处理成功失败的标识 10000 成功 其他表示失败
msg 当前系统返回给前端提示
result 返回给前端的数据
time 倒计时时间
mobile 手机号
2.
接口说明:注册
接口地址:register.php
请求方式:post
接口传参:name 用户名 pass 密码 repass 重复密码 code 验证码 mobile 手机号
返回类型 json
接口返回:{"code":"10000","msg":"","result":{"name":""}}
code 当前业务逻辑的处理成功失败的标识 10000 成功 10001 用户存在 10002 没有输入用户名
msg 当前系统返回给前端提示
result 返回给前端的数据
name 当前注册成功的用户-->
阅读全文
2 0
- jquery中用$.ajax实现注册(html、jquery、php、接口文档)、ajax验证用户提交数据
- jquery ajax验证注册
- Ajax Jquery 提交验证页面数据
- Asp.net 利用Jquery Ajax实现(验证用户名是否存)用户注册
- jQuery+ajax+php实现注册登录功能
- 注册实时验证详解(ajax,jquery)
- 注册实时验证详解(ajax,jquery)
- php+jquery+ajax实现用户名验证
- php+jquery+ajax实现用户名验证
- PHP jQuery Ajax提交与验证form表单详解
- jQuery--Ajax提交页面数据
- jquery的ajax提交数据
- JQuery验证成功之后,使用ajax提交数据,jqueryajax
- Jquery Ajax 提交 级联实现
- struts2 json 与jquery整合实现ajax,用户注册校验
- loner_li JQuery+AJax 实现简单的用户注册
- Struts2+AJAX+JQuery 实现用户登入与注册功能
- 使用 jquery 的 ajax 进行接口化开发(获取验证码,注册)
- javabean技术
- 洞悉产品的深度内涵
- 无人机驾驶员培训学习记录(二)
- kafka管理器kafka-manager部署安装
- 【UML】关系之依赖关系
- jquery中用$.ajax实现注册(html、jquery、php、接口文档)、ajax验证用户提交数据
- 19. 数据结构进阶十九外部排序相关概念
- Sysfs实现原理
- 1018. 锤子剪刀布 (20)
- jQuery+Ajax实现用户登录
- 20. 数据结构进阶二十文件相关概念
- JSP
- python SyntaxError: Non-ASCII character '\xe4' in file
- Kotlin可以拯救Java程序员,但Java9程序员不用!