我正在尝试检查用户输入的名称是否已经存在于数据库中,并且正在使用 AJAX 来执行此操作。但是,如果名称确实存在于数据库中(我知道哪些在数据库中),它永远不会返回 true。我只是想知道我是否做得正确。
这是我的文本字段:
<input type="text" name="name" id="name"/>
<div id='check'></div>
这是 $.post 请求:
<script>
$(document).ready(function() {
$('#name').keyup(function(){
isAvailable();
});
function isAvailable()
{
var name = $('#name').val();
$.post("controller/check", { name: name },
function(result)
{
if(result == 1)
{
$('#check').html('It is available.');
}
else
{
$('#check').html('It's not available.');
}
});
}
});
这是在控制器中调用的函数:
public function check()
{
$name = $this->input->post('name');
return $this->model->check_title();
}
这是模型:
function check_title()
{
$this->db->select('name');
$this->db->from('products');
$this->db->where('name', $this->input->post('name'));
$result = $this->db->get();
$rows = $result->num_rows();
if($rows > 0)
{
return 0;
}
else
{
return 1;
}
}
我想我知道问题出在哪里,可能是$name
控制器中的 没有被识别?或者传入的数据$.post
不正确,即密钥应该是数据库中的字段名称?真的很困惑,希望能得到一些帮助,谢谢。