jQuery中Ajax基本应用实例

jQuery中Ajax基本应用

简单模拟用户名不为空注册验证和获取验证码倒计时
    // 引包
    <script src="./js/jquery.min.js"></script>

用户名不能为空验证

    <script>
    // 注册按钮
    $('.submit').on('click',function(){
        // 用于保存this指向 方便后面调用
        var $this = $(this);
        // 查询到有disabled时 防止重复提交
        if($this.hasClass('disabled')) return;
        // jQuery ajax使用
        $.ajax({
            type:'post',
            url:'register.php',
            data:$('#ajaxForm').serialize(),
            // timeout超时取消请求  即超过指定时间将自动取消请求
            // timeout:2000,
            // 发送请求前的处理函数
            beforeSend:function(){
                // 验证用户名为空
                if($('.name').val() == ''){
                    // 显示提示框
                    $('.tips p').stop(true,true).fadeIn(400).delay(1500).fadeOut(400).html('用户名不能为空!');
                    // 终止请求
                    return false;
                }
                // 用户名不为空时改变按钮颜色和文字信息
                $this.addClass('disabled').val('正在提交...');
            },
            // 请求成功后的回调函数
            success:function(data){
                // data为服务器返回的数据
                // console.log(data);
                alert('注册成功!');
            },
            // 请求失败后的回调函数
            error:function(){
                // 也有返回数据  XMLHttpRequest对象数据和错误信息  
                alert('注册失败!');
            },
            // 请求完成后回调函数 请求成功或失败时都会调用
            complete:function(){
                // 也有返回数据  XMLHttpRequest对象数据
                // console.log(data);
                // 处理后还原注册按钮
                $this.removeClass('disabled').val('立即注册');
            }
            });
    });

获取验证码倒计时

    // 获取验证码按钮
    $('.verify').on('click',function(){
        var $this = $(this);
        if($this.hasClass('disabled')) return;
        $.ajax({
            type:'post',
            url:'getCode.php',
            data:{},
            beforeSend:function(){
                // 计数器
                var num = 10;
                if($('.mobile').val() == ''){
                    $('.tips p').stop(true,true).fadeIn(400).delay(1500).fadeOut(400).html('手机号不能为空!');
                    return false;
                }
                // 11位简单验证
                if(/^1\d{10}$/.test($('.mobile').val())){
                    alert('手机号正确');
                    var timer = setInterval(function(){
                        num--;
                        $this.val(num + '秒后再获取').addClass('disabled');
                        if(num <=0){
                            // 清除定时器
                            clearInterval(timer);
                            $this.removeClass('disabled').val('获取验证码');
                        }
                    },1000);
                }else{
                    $('.tips p').stop(true,true).fadeIn(400).delay(1500).fadeOut(400).html('手机号格式不正确!');
                    return false;
                }
            },
            success:function(data){
                console.log(data);
            },
            error:function(){},
            complete:function(){}
        });
    });
</script>
posted @ 2016-03-12 14:13  PaddyWang  阅读(104)  评论(0编辑  收藏  举报