Blogger Information
Blog 48
fans 0
comment 0
visits 40195
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0919-jQuery中的Ajax操作与三级联动实战
3期-Shawn的博客
Original
1055 people have browsed it

1. 编程1: $.post()实现用户注册
提示,用邮箱或手机,密码进行注册,邮箱或手机必须在表中唯一,如果重复,必须给用户提示。密码必须要进行非空和长度判断。

0921zuoye1.png

实例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>用户登录$.post()</title>
</head>
<body>
  <label for="email">邮箱:</label>
  <input type="text" name="email" id="email">
  <br><br>
  <label for="password">密码:</label>
  <!-- type="password"输入显示黑点,保护密码 -->
  <input type="password" name="password" id="password">
  <br><br>
  <button>登录</button>

<script src="../lib/jquery-3.3.1.js"></script>
<script>
  $('button').click(function(){
    //邮箱非空验证
    if($('#email').val().length === 0){
      $('#email').after('<span style="color:red">邮箱不能为空</span>').next().fadeOut(2500);
      $('#email').focus();
      return false;
    }

    //密码非空验证
    if($('#password').val().length === 0){
      $('#password').after('<span style="color:red">密码不能为空</span>').next().fadeOut(2500);
      $('#password').focus();
      return false;
    }
    //密码长度验证
    else if($('#password').val().length < 6){
      $('#password').after('<span style="color:red">密码长度不能少于6位</span>').next().fadeOut(2500);
      $('#password').focus();
      return false;
    }

    $.post(
      //处理请求的脚本
      'inc/check1.php',
      //要发送到服务器上的数据
      {email:$('#email').val(),password:$('#password').val()},
      //响应成功的回调
      function(data){
        console.log(data);
        if(data.status == 1){//表明验证通过
          $('button').after('<span style="color:green"></span>').next().html(data.message).fadeOut(2000);
        }else{
          $('button').after('<span style="color:red"></span>').next().html(data.message).fadeOut(2000)
        }
      },
      //响应数据的类型
      'json'
    );


  });
</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php
//echo json_encode('测试效果');//json_encode对变量进行 JSON 编码,返回字符串,包含了 value 值 JSON 形式的表示。

$email = htmlspecialchars(trim($_POST['email']));
//htmlspecialchars()把预定义的字符 "<"和 ">" 转换为 HTML 实体
//trim() 函数移除字符串两侧的空白字符或其他预定义字符。
$password = md5(htmlspecialchars(trim($_POST['password'])));

$pdo = new PDO('mysql:host=127.0.0.1;dbname=edu','root','root');
$sql = "SELECT COUNT(*) FROM `user` WHERE `email`=:email AND `password`=:password";
$stmt = $pdo->prepare($sql);
$stmt->execute(['email'=>$email,'password'=>$password]);
if($stmt->fetchColumn(0) == 1){
  $status = 1;
  $message = '验证通过';
}else{
  $status = 0;
  $message = '邮箱或密码错误';
}
echo json_encode(['status'=>$status,'message'=>$message]);

运行实例 »

点击 "运行实例" 按钮查看在线实例

2. 编程: 用ajax实现省/市/县三联下拉框联动查询功能,可使用json完成。

0921zuoye2.png

实例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>作业:ajax实现三级联动</title>
</head>
<body>
省: <select name="" id="pro"></select>
市: <select name="" id="city"></select>
区县: <select name="" id="area"></select>

<script src="../lib/jquery.js"></script>
<script>
    $(function () {
        $.getJSON('inc/1.json',function (data) {
            // console.log(data);
            let option = '<option value="">选择(省)</option>';
            $.each(data, function (i) {
                option += '<option value="'+data[i].proId+'">'+data[i].proName+'</option>';
            });
            $('#pro').html(option);
        });

        $('#pro').change(function () {
            $.getJSON('inc/2.json',function (data) {
                // console.log(data);
                let option = '<option value="">选择(市)</option>';
                $.each(data, function (i) {
                  if(data[i].proId == $('#pro').val()){
                    option += '<option value="'+data[i].cityId+'">'+data[i].cityName+'</option>';

                  }
            });
            $('#city').html(option);
            });
            });

        $('#city').change(function () {
            $.getJSON('inc/3.json',function (data) {
            // console.log(data);
            let option = '<option value="">选择(区/县)</option>';
            $.each(data, function (i) {
                  if(data[i].cityId == $('#city').val()){
                    option += '<option value="'+data[i].areaId+'">'+data[i].areaName+'</option>';
                  }
                });
                $('#area').html(option);
           });
           });
    });


</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post