我有一个表单,我使用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 '';
}
}
答案 0 :(得分:1)
如果您在type:'GET'
中使用ajax
,那么您应该使用ajaxVerify()
这样的
$this->input->get('name');
如果您使用type:'POST'
,那么
$this->input->post('name');