表单:
<form id="comment" method="POST" >
<div class="form-group">
<!-- <label for="email">action="{:url('index/login')}"</label> -->
<input type="phone" class="form-control border-top-0 border-right-0 border-left-0 text-dark"
style="BACKGROUND-COLOR: transparent;" id="email" placeholder="手机号" name="phone" required>
</div>
<div class="form-group">
<!-- <label for="pwd">Password:</label> -->
<input type="password" class="form-control border-top-0 border-right-0 border-left-0 "
style="BACKGROUND-COLOR: transparent;" id="pwd" placeholder="密码" name="pw" required>
</div>
<button type="submit" class="btn btn-success" style="width: 100%;" id="btn-comment">登录</button>
</form>
js:
$("#btn-comment").click(function () {
// url:将请求提交到哪里去
// data:请求参数
// type:请求方式,例如GET或POST等
// dataType:服务器端响应的数据类型,取值可以是json、text、xml等,取决于服务器端响应时的响应头中的Content-Type
// success:响应成功时(Http响应码是200)的回调(callback)函数,函数中的参数就是服务器端响应的JSON数据形成的JSON对象
// error: 响应失败时的回调函数(Http响应码不是200的情况)
$.ajax({
"url": "{:url('index/login')}",
"data": $("#comment").serialize(),//序列化表单值:"username=Hello&password=123456"
"type": "post",
"dataType": "json",
"success": function (data) {
// if (data['status'] == 1) {
// alert("登录成功");
// console.log("出错1:");
// window.location.href = "{:url('index/index')}";
// } else {
// console.log("出错:" + data['message']);
// }
console.log(data);
},
"error": function (data) {
console.log("出错2:");
}
});
});
控制器:
//处理登录 用ajax方法
public function login()
{
$request = Request::instance();
$post = $request->post();
$data = [
'user_phone' =>$_POST['phone'],
'user_pw'=>md5($_POST['pw']),
];
$validate = validate('Login');
if(!$validate->check($data)){
$msk = $validate->getError();
$status =0;
return json(['status'=>$status,'message'=>$msk]);
}
$res = Db::name('user')->where($data)->find();
if($res==null){
$status =0;
$message = '账号或密码错误';
return json(['status'=>$status,'message'=>$message]);
}else{
Session::set("user_id",$res["user_id"]);
$status =1;
$message = '登录成功';
$url = 'http://localhost/yfz/public/index.php/index/home/index.html';
return json(['status'=>$status,'message'=>$message ,'url'=>$url]);
}
}