Javascript Ajax电子邮件和密码验证不断返回错误结果

Javascript Ajax电子邮件和密码验证不断返回错误结果,javascript,php,ajax,codeigniter,Javascript,Php,Ajax,Codeigniter,我对ajax电子邮件和密码验证有问题。我不知道控制器和模型有什么问题,因为当我删除e.preventDefault()时返回正确的结果。为什么ajax代码总是返回false?这是因为我使用MD5 type作为密码还是这件事数据:“email=“+email+”&“+”password=“+password,不正确 JS 看法 尝试这样做。以对象格式发送数据{}。并使用JSON.parse()解析JSON响应 <script type="text/javascript"> $(

我对ajax电子邮件和密码验证有问题。我不知道控制器和模型有什么问题,因为当我删除
e.preventDefault()时返回正确的结果。为什么ajax代码总是返回false?这是因为我使用MD5 type作为密码还是这件事
数据:“email=“+email+”&“+”password=“+password,
不正确

JS

看法


尝试这样做。以对象格式发送数据
{}
。并使用
JSON.parse()
解析JSON响应

<script type="text/javascript">
    $(document).ready(function(){

    $('#myform').on('submit', function(e) {
    // e.preventDefault();        //<---- stop submiting the forms
    var email = $('#email').val();
    var password = $('#password').val();
    $.ajax({
        type: "POST",
        url: "<?php echo base_url('KulinerControl/otentikasi');?>",
        dataType: "json",
        data: {email:email,password:password},                   
        success: function(response){
            var data = JSON.parse(response)//or data = eval(response);
            if(data.valid){
                $('#msg').html(data.msg);
                // $("#myform").submit();    //<---- submit the forms
            }else{
                $('#msg').html(data.msg);
            }
        }
    });
});
});
</script>
或者在
application/config/autoload.php

你的观点一定是这样的

<?php echo form_open('', array('id'=>'myform')); ?>
<span id="msg"> </span> 
    <label for="email>Email</label>
    <input type="text" name="email" id="email" required> 
    <label for="password"  >password</label>
    <input type="password" name="password" id="password" required> 
    <button type="submit" >Submit</button>
</form>


js中,您可以通过
$('#email').val()获取值
$(“#密码”).val(),但您尚未指定两个输入字段的id属性。因此,根据需要在两个输入中添加id属性

要了解有关jquery选择器的更多信息,请访问

试试这个

查看

<?php echo form_open('KulinerControl/otentikasi', 'id="myform"'); ?>
<span id="msg"> </span> 
    <label for="email>Email</label>
    <input type="text" name="email" id="email" required> 
    <label for="password"  >password</label>
    <input type="password" name="password" id="password" required> 
    <button type="submit" >Submit</button>
</form>

您可以尝试
data:$(“#myform”).serialize()
@ccKep,绝对感谢sir@highcal您是否尝试了上述答案。请同时加载表单帮助程序。欢迎。如果上述解决方案有效,请正确标记,以便其他人了解。
<script type="text/javascript">
    $(document).ready(function(){

    $('#myform').on('submit', function(e) {
    // e.preventDefault();        //<---- stop submiting the forms
    var email = $('#email').val();
    var password = $('#password').val();
    $.ajax({
        type: "POST",
        url: "<?php echo base_url('KulinerControl/otentikasi');?>",
        dataType: "json",
        data: {email:email,password:password},                   
        success: function(response){
            var data = JSON.parse(response)//or data = eval(response);
            if(data.valid){
                $('#msg').html(data.msg);
                // $("#myform").submit();    //<---- submit the forms
            }else{
                $('#msg').html(data.msg);
            }
        }
    });
});
});
</script>
$this->load->helper('url');
<?php echo form_open('', array('id'=>'myform')); ?>
<span id="msg"> </span> 
    <label for="email>Email</label>
    <input type="text" name="email" id="email" required> 
    <label for="password"  >password</label>
    <input type="password" name="password" id="password" required> 
    <button type="submit" >Submit</button>
</form>
<?php echo form_open('KulinerControl/otentikasi', 'id="myform"'); ?>
<span id="msg"> </span> 
    <label for="email>Email</label>
    <input type="text" name="email" id="email" required> 
    <label for="password"  >password</label>
    <input type="password" name="password" id="password" required> 
    <button type="submit" >Submit</button>
</form>
**$(document).ready(function(){

    $('#myform').on('submit', function(e) {
        e.preventDefault();        //<---- stop submiting the forms
        var email = $('#email').val();
        var password = $('#password').val();
        $.ajax({
            type: "POST",
            url: "<?php echo base_url()?>KulinerControl/otentikasi",
            dataType: "json",
            data: "email=" + email + "&" + "password=" + password,                   
            success: function(data) {
                if(data.valid) {
                    $('#msg').html(data.msg);
                    // $("#myform").submit();    //<---- submit the forms
                } else {
                    $('#msg').html(data.msg);
                }
            }
        });
    });
});**
function otentikasi() {
    $email = $this->input->post('email');
    $password = md5($this->input->post('password'));
    $exists = $this->KulinerModel->otentikasi($email, $password);

    if($exists) {
        $msg = array(
            'valid' => true,
            'msg'   => 'correct'
        );
    } else {
        $msg = array(
            'valid' => false,
            'msg'   => 'error !'
        );
    }
    echo json_encode($msg);
}