Thinkphp3.2.3 ajax验证码

经过无数次折腾,终于找到正确的解决方案,上代码~

//jquery提交
var $verify = $.trim($('#verify').val());
$.post('/xxx.php/控制器/验证方法', {verify: $verify}, function ($data) {
    if($data.err==1){
        var errorMsg = '验证码错误.';
        );
    }else{
        var okMsg = '输入正确.';
    }
});
<?php
//验证码
namespace Admin\Controller;
use Think\Controller;
class PublicController extends Controller{
    function index(){
        $this->display();
    }

    public function verify_c(){
    $Verify = new \Think\Verify();
    $Verify->fontSize = 18;
    $Verify->length   = 4;
    $Verify->useNoise = false;
    $Verify->codeSet = '0123456789';
    $Verify->imageW = 130;
    $Verify->imageH = 50;
    //$Verify->expire = 600;
    $Verify->entry();
    }
    function check_code($code, $id = ""){
        $config = array(
            'reset' => false, // 防止表单失去焦点后提示错误,验证成功后不重置。
        );
        $verify = new \Think\Verify($config);
        return $verify->check($code, $id);
    }

}
//控制器页面方法 
   public function checkverify($verify){
        $data = array();
        if(!empty($verify)){
            $public=A('Public');
            if($public->check_code($verify) === false){
                $data['info'] = '验证码错误';
                $data['err'] = 1;
            }else{
                $data['info'] = '验证码正确';
                $data['err'] = 0;
            }
        }else{
            $data['info'] = '验证码错误';
        }
        $this->ajaxReturn($data);
    }

  

  

  

posted on 2017-02-25 10:46  80style  阅读(193)  评论(0编辑  收藏  举报