用Ajax实现登陆时不刷新真个页面会提示账号不存在,密码错误信息

浏览:893 发布日期:2018/07/22 分类:求助交流 关键字: Ajax tp5 前端
控制器代码public function login()
    {
        $username = input('username');
        $password = input('password');
        if(request()->isAjax())
        {
            $login=new Log;
            $status = $login->login($username,$password);
            if($status == 1)
            {
                return json('登陆成功!');
                return $this->success('登陆成功!','index/index');
            }
            elseif($status == 2)
            {
                return json('密码错误!');
            }
            elseif($status == 3)
            {
                return json('该账号没有注册');
            }
        }
        else
        {
            return $this->fetch('login');
        }
    }
前端代码<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>后台登录</title>
    <script type="text/javascript" src="__PUBLIC__/static/admin/js/jquery.min.js"></script>
    <link href="__PUBLIC__/static/admin/css/admin_login.css" rel="stylesheet" type="text/css" />
<script>    
                
            function ajaxPost(){    
                var formData = $("#myform").serialize();
                $.ajax({    
                    type:"post",    
                    url:"{:url('Admin/login/login')}",    
                    data:formData,//这里data传递过去的是序列化以后的字符串    
                    success:function(data){    
                        $("#content").prepend(data);//获取成功以后输出返回值    
                    }    
                });    
            }    
                
</script>
</head>
<body>
<div class="admin_login_wrap">
    <h1>后台管理</h1>
    <div class="adming_login_border">
        <div class="admin_input">
            <form action="" method="post" id="myform">
                <ul class="admin_items">
                    <li>
                        <label for="user">用户名:</label>
                        <input type="text" name="username" value="admin" id="username" size="35" class="admin_input_style" />
                    </li>
                    <li>
                        <label for="pwd">密码:</label>
                        <input type="password" name="password" value="admin" id="password" size="35" class="admin_input_style" />
                    </li>
                    <li>
                        <input type="submit" tabindex="3" value="提交" id="sub" class="btn btn-primary" action="ajaxPost()"/>
                    </li>
                </ul>
            </form>
        </div>
    </div>
</div>
<div id="content"> asdf
 </div> 
</body>a
</html>
之前有一个我觉得类似的例子,这是照着那个写的
参考的demo的控制器部分public function test()    
    {
        $username = input('username');
        $password = input('password');
        if(request()->isAjax())
        {        
            if($username == '123'){  
                return json("ajax成功!".$username."---".$password);
            }else{  
                return json("你输出的是其他值:".$username."---".$password);
            }
        }
        else{
            return $this->fetch('test');
        }
    }
参考的demo的前端部分<html>
<head>
<script src="__PUBLIC__/static/admin/js/jquery-1.10.2/jquery.min.js"></script>
    <!-- <script> -->
    <!-- function ajaxPost(){ -->
        <!-- var data = $("#myform").serialize(); -->
        <!-- $(document).ready(function(){ -->
            <!-- $("button").click(function(data){ -->
                <!-- $("#content").load("{:url('Admin/map/test')}",$("#myform").serialize()); -->
            <!-- }); -->
        <!-- }); -->
    <!-- } -->
    <!-- </script> -->
    <script>    
                
            function ajaxPost(){    
                var formData = $("#myform").serialize();    
                //serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法    
                $.ajax({    
                    type:"post",    
                    url:"{:url('Admin/map/test')}",    
                    data:formData,//这里data传递过去的是序列化以后的字符串    
                    success:function(data){    
                        $("#content").prepend(data);//获取成功以后输出返回值    
                    }    
                });    
            }    
                
        </script>
</head>
<body>
 <form id="myform"><!--这里给表单起个id用于获取表单并序列化-->   
    <input type="text" name="username" value="123"/>  
    <input type="text" name="password" value="123" />   
 </form>
 <button onclick="ajaxPost()">Ajax</button>
<!-- <button>获取外部内容</button> -->
 <div id="content"> asdf
 </div>  
</body>
</html>
最佳答案
评论( 相关
后面还有条评论,点击查看>>