所以我不太熟练使用 codeiginiter,但我已经使用它有一段时间了。
我试图进行 SQL 查询来搜索数据库中的书籍,但 ajax 总是返回空。
我回显了一些虚拟字符串,以确保 Controller 和 View 之间建立了正确的连接,并且我确保 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("?");
}
});
});
这是 Controller :
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”作为测试的模型中,我知道这不是搜索词本身,它仍然返回空
最佳答案
您需要更改此行:
return $query->result_array;
与:
return $query->result_array();
因为 result_array()
是一个将结果返回为数组格式的函数。
关于javascript - Codeigniter AJAX 数据返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660374/