实现用ajax登录跳转

表单:

<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]);

        }

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。