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); }