THINKPHP中使用ajaxReturn进行AJAX交互

原创
2016-06-07 11:36:56 962浏览

有不少人反馈说在使用ThinkPHP时,不知道怎么使用$this->ajaxReturn与模板页进行AJAX交互,
下面我以我的个人博客(http://www.gouguoyin.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("网络连接错误,请稍后再试");
});

}
})
PS:为方便大家使用,特将所有涉及的代码打包上传,下载地址:http://www.gouguoyin.cn/php/60.html

AD:真正免费,域名+虚机+企业邮箱=0元

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。