为什么我的前端点击登录按钮始终没有反应呢?也不报错。是不是jquery写错了,几乎是完全copy的朱老师的啊。为什么还是没反应?公共文件也引入了JQUERY。麻烦大神指点一下。以下是view层local.html文件源码
{include file='public/header' /}
<body style="background-color: #393D49">
<div class="x-box">
<div class="x-top">
<i class="layui-icon x-login-close">
ဇ
</i>
<ul class="x-login-right">
<li style="background-color: #F1C85F;" color="#F1C85F">
</li>
<li style="background-color: #EA569A;" color="#EA569A">
</li>
<li style="background-color: #393D49;" color="#393D49">
</li>
</ul>
</div>
<div class="x-mid">
<div class="x-avtar">
<img src="__STATIC__/images/logo.png" alt="">
</div>
<div class="input">
<form class="layui-form">
<div class="layui-form-item x-login-box">
<label for="username" class="layui-form-label">
<i class="layui-icon"></i>
</label>
<div class="layui-input-inline">
<input type="text" id="name" name="name" class="layui-input" placeholder="username" required="">
</div>
</div>
<div class="layui-form-item x-login-box">
<label for="password" class="layui-form-label">
<i class="layui-icon"></i>
</label>
<div class="layui-input-inline">
<input type="password" id="password" name="password" class="layui-input" placeholder="******" required="">
</div>
</div>
<div class="layui-form-item" id="loginbtn">
<button lay-filter="save" class="layui-btn" lay-submit="" type='button' id="loginbt">
登 录
</button>
</div>
</form>
</div>
</div>
</div>
<p style="color:#fff;text-align: center;">Copyright © 2017.Company name All rights X-admin </p>
{include file="public/script" /}
<script>
layui.use(['form'],
function() {
$ = layui.jquery;
var form = layui.form(),
layer = layui.layer;
$('.x-login-right li').click(function(event) {
color = $(this).attr('color');
$('body').css('background-color', color);
});
/*监听提交
form.on('submit(save)',
function(data) {
console.log(data);
layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
},function () {
location.href = "__STATIC__/index.html";
})
return false;
});
*/
});
</script>
<script>
$(function(){
$("#loginbt").on('click',function(){
$.ajax({
type:'POST',
url:"{:url('login/check')}",
data:$(".layue-form").serialize(),
dataType:"json",
success:function(data){
if(data.status==1){
alert(data.message);
window.loction.href="{:url('index/index')}";
}else{
alert(data.message);
window.loction.href="{:url('login/index')}";
}
}
})
})
})
</script>
</body>
</html>
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的代码太多了,我没仔细看,你可以用开发者工具打印日志找错误,还有就是我看你用了layer弹出层,但是你并没有use弹出层的模块
这是后端login控制器代码:
<?php
namespace app\admin\controller;
use app\admin\common\Base;//Base里已自动引用了各种think内库文件,这里不会有错的
use app\admin\model\Admin;
class Login extends Base{
/** 渲染登录界面 */
public function index() {
return $this->fetch('login');
}
/** 验证用户身份*/
public function check(Request $request){
//设置status
$status=0;
//获取一下表单提交的数据并保存在变量中
$data=$request->param();
$name=$data['name'];
$password=md5($data['password']);
//在admin表中进行查询
$map=['name'=>$name];
$admin = Admin::get($map); //返回的是一个对象
//将用户名和密码分开验证
//如果没有查询到该用户
if(is_null($admin)){
//设置返回信息
$message = '用户名不正确';
}elseif($admin-> password != $password){
$message='密码不正确';
}else{
//如果用户名和密码都正确则表明是合法用户
$status=1;
$message='验证通过,请点击确定进入后台';
//更新表中登录次数和登录时间
$admin->setInc('login_count');//tp5自增方法
$admin->save(['lasttime'=>time()]);
//将用户登录的信息保存到session中,供其他控制器进行登录判断
Session::set('user_id',$name);
Session::set('user_info',$data);
}
return ['status'=>$status,'message'=>$message];
}
/**
* 退出登录
*/
public function loginout()
{
//删除当前用户的登录信息
Session::delete('user_id');
Session::delete('user_info');
//执行成功,并返回到登录界面
$this->success('注销成功,正在返回','login/index');
}
}
这个后台前端是引入的X-ADMIN框架