【发布时间】:2016-02-26 19:46:16
【问题描述】:
所以我并不完全精通使用 codeiginiter,但我已经使用它一段时间了。
我正在尝试进行 SQL 查询来搜索数据库中的书籍,但 ajax 总是返回空。
我回显了一些虚拟字符串以确保在控制器和视图之间建立了正确的连接,并且我确保 SQL 查询本身可以正常工作,但我不明白为什么仍然会发生这种情况。
这是javascript:
$('#search').on("keyup", function() {
search = $(this).val();
console.log("Search Term: " + search);
$.ajax
({
type: "POST",
url: base_url + "vault/quick_search",
data: {search_term:search},
dataType: 'json',
success: function(data)
{
console.log("Result: " + data);
},
error: function(data)
{
alert("?");
}
});
});
这是控制器:
function quick_search()
{
$search = $this->input->post('search_term');
$result = $this->vault_instance->quick_search($search);
echo json_encode($result);
}
这是模型:
function quick_search($search_term)
{
$sql = "SELECT * FROM books WHERE title LIKE '%harr%' OR author LIKE '%harr%'";
$query = $this->db->query($sql);
return $query->result_array;
}
注意:抱歉编辑不佳,这是我第一次提出问题。 另外,在我使用“harr”作为测试的模型中,我知道这不是搜索词本身,它仍然返回空
【问题讨论】:
-
但是您对代码进行了很好的编辑。但请等待提示。
-
欢迎您!你是在本地机器上开发吗?一些浏览器具有使 Ajax 变得棘手的安全措施。您的浏览器的开发控制台中是否有任何错误/警告?
-
您是否检查过您是否在控制台中看到任何错误
-
我想你在这里有问题
return $query->result_array;这应该是return $query->result_array(); -
是的,我正在本地机器上工作。实际上没有任何警告或错误。我做过很多其他的 AJAX 调用;他们工作得很好。然而,这个不是。
标签: javascript php sql ajax codeigniter