Ajax请求需要很长时间才能响应

时间:2016-06-01 09:50:08

标签: javascript php jquery ajax

的Javascript

<script>
     loginValidator = $('#login').validate({

            errorClass: 'error1',
            focusInvalid: false,
            errorElement: "div",
            rules: {
                username: {
                    required: true,
                    email: true
                },
                password: "required"

            },
            messages: {
                username: {
                    email: "Please Enter a Valid E-mail Id"
                },
                password: {
                    required: "Please Enter Your Password"
                }

            },
            submitHandler: function (form) {

                var email = $('#username').val();
                var password = $('#password').val();
                var url = "<pre> ?php  echo site_url() ?></pre> /register/do_login";

                $.ajax({
                    type: 'post',
                    url: url,
                    data: {'username': email, 'password': password},
                    dataType: 'html',

                    success: function (data) {

                        if (data == 0) {

                            $('.invalidlogin').html('Invalid Username or Password').css('color', 'red');

                        }
                        if (data == 1)
                        {

                            window.location.href = "<?php echo site_url(); ?>/home/landing_home";
                            return false;


                        }
                        if (data == 2)
                        {

            window.location.href = "<?php echo site_url(); ?>/home/first_login_disclaimer";


                        }

                    }

                });

            }
        });

    </script>

Register.php - 控制器

 <?php


function do_login() {
    echo $result = $this->obj_users->check_login();
    exit;
}

?>

为registration.php-模型

 <?php

     function check_login() {

            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $last_logged = date('Y-m-d H:i:s');

            $salt = sha1($password);
            $password = md5($salt . $password);

            $this->db->where(array('email' => $username, 'password' => $password, 'status' => '1'));
            $query = $this->db->get('registration');

            $result = $query->result();

            if (count($result) > 0) { 
                $first_login_status = $result[0]->first_login;
                if ($first_login_status == '1') {
                    $datas = array('last_logged' => $last_logged);
                    $this->db->where(array('email' => $username));
                    $this->db->update('registration', $datas);

                    $this->session->set_userdata('user_id', $result[0]->id);
                    $this->session->set_userdata('user_type', $result[0]->user_type);
                    $this->session->set_userdata('ADMIN_NAME', $result[0]->name);

                    return "1";
                } else {

                    $this->db->where(array('email' => $username, 'password' => $password, 'first_login' => '0', 'status' => '1'));
                    $query = $this->db->get('registration');

                    $result = $query->result();
                    $this->session->set_userdata('first_login_user_id', $result[0]->id);
                    $this->session->set_userdata('first_login_user_type', $result[0]->user_type);
                    $this->session->set_userdata('FIRST_LOGIN_ADMIN_NAME', $result[0]->name);
                    if (count($result) > 0) {
                        return "2";
                    }
                }
            } else {
                return "0";
            }
        }


    ?>

这里,ajax请求花了5秒多的时间来响应请求并重定向到下一页..请建议我是否有办法减少Ajax响应时间。谢谢。

0 个答案:

没有答案