在jquery表单验证中,ajax没有响应


In jquery form validation ajax not responding

我正在尝试用jquery验证我的代码。它可以工作,但是当涉及到ajax时,它不会加载任何页面。相反,我的道路是错误的或其他原因。请帮我解决这个问题。

这是我的视图文件

admin_view.php

<?php include('assets/header.php'); ?> 
<div class="container">
    <h1>Welcome to Admin Login</h1>
    <?if($this->session->flashdata('flashError')):?>
    <p class='flashMsg flashError'> 
        <?= $this->session->flashdata('flashError') ?> </p>
    <?endif?>
    <!-- new line inserted -->
    <form method="post" name="myForm" accept-charset="utf-8"   class="login" id="form" >
        <div class="form-group">
            <div class="col-xs-4">
                <!--<label for="admin">Admin</label>
                <input type="text" name="admin" class="form-control" id="admin" value=""  placeholder="admin name" />-->
                Admin Name: <input type="text" name="admin" id="admin" class="form-control"  value="<?php echo set_value('admin'); ?>"  placeholder="admin name" >
                <?php echo form_error("admin"); ?>
                <p id='p1'></p>
                <br>
                <!--  <label for="password">password</label>
                 <input type="text" name="password" class="form-control" id="password" value=""  placeholder="password" required/>
                -->
                Admin Password: <input type="password" name="password" id="password" class="form-control" value=""  placeholder="password" >
                <?php echo form_error("password"); ?>
                <p id='p2'></p>
                <br>
                <br>
                <input type="button" name="submit" value="submit" id="submit" class="btn btn-primary"  >
            </div>
        </div>
        <div class="error"></div>
    </form> 
</div>
<script>
    $(document).ready(function () {
        $("#submit").click(function () {
            var admin = $("#admin").val();
            var password = $("#password").val();
            $("#returnmessage").empty(); // To empty previous error/success message.
            // Checking for blank fields.
            if (admin == '')
            {
                $('div.error').html("Please Fill Admin Required Fields");
            } else if (password == '')
            {
                $('div.error').html("Please Fill Password Required Fields");
            } else
            {//alert('hello world');
                // Returns successful data submission message when the entered information is stored in database.
                $.ajax({
                    type: "POST",
                    url: "<?php base_url() ?>index.php/admin_login/login",
                    data: {"admin": admin, "password": password},
                    dataType: "json"
                }).done(function (data) {
                    if (data.error != "")
                    {
                        //alert('hello if');
                        $('div.error').html(data.error);
                    } else
                    {
                       // alert('hello else');
                        window.location.href="admin_view";
                    }
                });
            }
        });
    });
</script>

<?php include('assets/footer.php'); ?>

你提供了错误的 ajax url 路径,

url: "<?php base_url() ?>index.php/admin_login/login" 

此语句不会直接工作,因为<?php base_url() ?>是一个 PHP 语句,并且您在 JavaScript 中使用它,这是不可接受的。

像这样使用:

<script type="text/javascript">var path= "<?php echo base_url();?>";</script> 

在你的head部分写下这个语句,这个语句将定义你的基本url到路径变量,这是一个javascript变量,你可以在javascript代码中使用它。

然后附加网址,如下所示:

url: path+"/index.php/admin_login/login",

希望这对你有帮助。