jquery ajax表单验证不使用GET方法codeigniter

时间:2014-08-24 03:25:52

标签: javascript php jquery ajax codeigniter

我有一个表单,我使用jquery ajax检查用户名是唯一的。它的工作正常,但问题是当我使用GET方法时,它会一次又一次地返回相同的值。 else语句未运行。它使用POST方法完全正常。

这是我的jquery ajax实现的表单

<script type="text/javascript" src="<?php echo base_url('javascript/script.js');?>"></script>
<script>
$(document).ready(function(){

$("#username").change(function(e){

    $.ajax({
    url:'http://localhost/rental/index.php/members/ajaxVerify',
    type:'POST',
    data:{name:$(this).val()},
    success:function(data){

    $("#error_msg").html(data);
    $("#username").val('');

    }

    //ok will do that verify chaina bhane submit button unclickable banaidimla ...text delete garnu ko sato ....
    }); 

    });
});
</script>
<form method="post" action="<?php echo site_url('members/signupAdd');?>">
<table>
<tr><td>username:</td><td><input type="text" name="username" id="username"></td><td id="error_msg"></td></tr>
<tr><td>email:</td><td><input type="text" name="email" id="email"></td></tr>

<tr><td><input type="submit" name="submit" value="signup"></td></tr>
</table>

</form>

..这是模特......

function uniqueName($typedname){
        $this->db->where('username',$typedname);
        $query=$this->db->get('users');
        if($query->num_rows>0)
        {
            return true;
        }
        else{
            return false;
        }
    }

这是控制器..

function ajaxVerify(){
        $typedname=$this->input->post('name');

        //call model to verify unique username
        if($this->members_model->uniqueName($typedname))
        {
            echo "Username already exist";

        }
        else{
            echo '';    
        }   
    }

1 个答案:

答案 0 :(得分:1)

如果您在type:'GET'中使用ajax,那么您应该使用ajaxVerify()这样的

$this->input->get('name');

如果您使用type:'POST',那么

$this->input->post('name');