您现在的位置是:首页 > ThinkPHP

李清波 2015-09-27 ThinkPHP 1666 复制当前网址

THINKPHP中使用ajaxReturn进行AJAX交互

  有不少人反馈说在使用ThinkPHP时,不知道怎么使用$this->ajaxReturn与模板页进行AJAX交互,


  下面我以我的个人博客(http://liqingbo.cn/)的管理员登录为例来介绍下$this->ajaxReturn与模板页进行AJAX交互使用方法


  首先看PHP控制器的处理,在application/Admin/Controller/LoginController.class.php控制器里加入登录验证方法



//ajax检验管理员登录是否正确
    public function check()
    {
        $user = M('User');
        if(!IS_AJAX){
           $this->ajaxReturn(array(
                'info' => '非法的请求方式'
            ));
       
        }
        $user_name     = I('user_name', '');
        $user_password = I('user_password', '');

        $user_password = md5($user_password);

        $filter = array(
            'user_name'     => $user_name,
            'user_password' => $user_password
        );

        $user_info = $user->where($filter)->find();
        
        if (1 == $user_info['type']) {
            $this->ajaxReturn(array(
                'info' => '你无权登录后台'
            ));
        }

        if($user_info){
            // 更新登录ip
            $info['ip'] = get_client_ip();
            //更新登录时间
            $info['update_time'] = date('Y-m-d H:i:s', time());

            $user->where(array('id' => $user_info['id']))->save($info);

            session('user_id',$user_info['id']);
           
            $data = array(
                'info' => 'ok',
                'callback' => U('user/index/index')
            );
        }else{
            $data = array(
                    'info' => '登录失败,请检查登录名和密码是否正确'
            );

        }

        $this->ajaxReturn($data);
    }


登陆模板页

$('.submit').click(function(event){
   //阻止表单默认提交事件
    event.preventDefault();
    var userName=$("#user_name").val();
    var userPassword=$("#user_password").val();
    if(userPassword==""||userName==""){
        alert('登录名与密码不能为空 ');
        $("#user_name").focus();
        return false;
    }else{
        var url = "{U('Admin/Login/check')}";
        $.post(url, { user_name:userName, user_password:userPassword}, function(msg){
        if(msg.info == 'ok') {
          //alert('登录成功,正在转向后台主页!');
          window.location.href = msg.callback;
        } else {
          alert(msg.info);
        }
      }, 'json').error(function(){
        alert("网络连接错误,请稍后再试");
      });

    }
  })


文章来源:https://liqingbo.com/blog-436.html

评论