thinkphp框架中jquery $.post()用法详解

8描述:

获得 test.php 页面返回的 json 格式的内容::

jQuery 代码:
$.post("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // John
     console.log(data.time); //  2pm
   }, "json");
返回数据类型若为json格式,则对应方法echo json_encode(data);

案例:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
       $this->display();
    }
    public function test()
    {
        $account=I('post.account');
        $user="dalei";
        echo $account.".".$user;
    }

}

//

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Document</title>
 </head>

 <body>
 用户名:<input type="text" id="uName" class="uName">
 <p></p>
 <a></a>
<script type="text/javascript" src="__PUBLIC__/jquery-1.8.2.min.js"></script>

<script>
window.οnlοad=function()
{
    alert("加载成功!");
}
$(document).ready(function(){
    $('#uName').blur(function(){
        var account=1;
        $.post("__URL__/test", { "account": account },function(data){

            // alert(data);
            var list=data.split(".");
            var a=list[0];
            var b=list[1];
            $("p").html(a);
            $("a").html(b);
            // document.write(data.split("."));
        },"text");
     
    })
})

</script>












前端js写法:

<script src="/m/Public/js/jquery.js"></script>

<script>

$(function(){

$('#uName').blur(function(){

   var account=$('#uName').val();

if(account==''){

 $('.uName').html('请输入用户名');

 return false;

}

if(account.length<5 ||account.length>=16){

 $('.uName').html('用户名长度必须在5-16位之间');

  $('.uName').css('color','red');

 return flase;

}

$.post('__URL__/checkAccount',{'account':account},function(data){   //__URL__/checkAccount不可写成U(")方式,可用原生天“index.php/Home/控制器/方法”

                 if(data==1){

    $('.uName').html('该用户名已注册');

}else{

$('.uName').html('恭喜,此用户名可以使用。');

$('.uName').css('color','green');


}

 })

})

$('input[type=password]').blur(function(){

  if($(this).is('#uPwd')){

 if($(this).val()==''){ $('.uPwd').html('请输入密码'); }

  if($(this).val().length<5 || $(this).val().length>=16){

    $('.uPwd').html('密码长度必须在5-16位之间');

  }else{

    $('.uPwd').html('密码正确');

$('.uPwd').css({'color':'green','fontSize':'14px'});

  }

   }

if($(this).is('#uPwd1')){

 if($(this).val()==''){ $('.uPwd1').html('请输入确认密码');}

 if($(this).val().length<5 || $(this).val().length>=16){

    $('.uPwd1').html('密码长度必须在5-16位之间');

  }else{

    if($('#uPwd').val()!=$('#uPwd1').val()){

  $('.uPwd1').html('两次密码不一致');

 }else{

 $('.uPwd1').html('密码正确');

                  $('.uPwd1').css({'color':'green','fontSize':'14px'});

 }

  }

   }

})

  $('#email').blur(function(){

         var email=$('#email').val();

var reg=/^[a-z0-9](\w|\.|-)*@\w{2,}\.(com|cn|net|com.cn|net.cn)$/i;

         if(!reg.test(email)){

   $('.email').html('邮箱格式不正确');

   $('.email').css({'color':'red','fontSize':'14px'});

return false;

 }else{

   $('.email').html('邮箱正确');

$('.email').css({'color':'green','fontSize':'14px'});

 }

 $.post('__URL__/checkEmail',{'email':email},function(data){

 if(data==1){

   $('.email').html('邮箱已注册');

   $('.email').css({'color':'red','fontSize':'14px'});

return false;

 }

 })

  })

})   

 $(function(){

$('#phone').blur(function(){

   var phone=$('#phone').val();   

/*   var reg=/^1[3458]\d{9}$/;

if(!reg.test(phone)){

$('.phone').html('手机号码格式不正确');

$('.phone').css({'color':'red','fontSize':'14px'});

 return false;

}else{

$('.phone').html('手机号码正确');

$('.phone').css({'color':'green','fontSize':'14px'});

}*/

   $.post('__URL__/phone',{'phone':phone},function(data){

        alert(data);

if(data==1){

            $('.phone').html('手机号码已注册');

$('.phone').css({'color':'red','fontSize':'14px'});

return false;

}

    })

})

  $('#userLogin').click(function(){

var account=$('#uName').val();

var uPwd=$('#uPwd').val();

var uPwd1=$('#uPwd1').val();

var email=$('#email').val();

var phone=$('#phone').val();

if(account==''){$('.uName').html('请输入用户名'); return false;}

if(uPwd==''){$('.uPwd').html('请输入用户密码'); return false; }

if(uPwd1==''){$('.uPwd1').html('请输入确认密码'); return false; }

if(email==''){$('.email').html('请输入电子邮箱'); return false; }

if(phone==''){$('.phone').html('请输入手机号码'); return false; }

$.post('__URL__/reg',{'account':account,'password':uPwd,'email':email,'phone':phone},function(data){

        if(data==1){

 alert('注册成功');

 window.location.href='__APP__/Member/User/index';

 return false;

}else if(data==2){

alert('注册失败');

return false;

}

})

  })

})

</script>

对应控制器写法:

thinkphp jquery与ajax用户注册表单验证

实例:thinkphp jquery与ajax实现用户注册表单验证

步骤:

1,检测用户名是否已注册。

2,对邮箱进行检测是否已被注册过。

3,对手机号码进行检测是否已被注册过。

4,分别对这三个表单框添加失去焦点的事件。

5,最后,当点击新用户注册时,对所有文本控件的值判断是否为空,为空则不允许提交。

<?php

 UserAction extends Action{

   

  public function reg(){

     if(IS_POST){

        if(M('member')->data($_POST)->add()){

          echo 1;

        }else{

         echo 2;

        }

    }

     $this->display();

   }

   public function checkAccount(){

     $account=I('post.account');

      $list=M('member')->where(array('account'=>$account))->select();

     $list=$list[0];

     if(!empty($list)){

       echo 1;

     }

   }

   public function checkEmail(){

    $email=I('post.email');

    $list=M('member')->where(array('email'=>$email))->select();

    $list=$list[0];

        if(!empty($list)){

      echo 1;

    }

   }

   public function phone(){    

    $phone=I('post.phone');

    $list=M('member')->where(array('phone'=>$phone))->select();

         $list=$list[0];

         if(!empty($list)){

      echo 1;

    }

       }

}

?>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值