javascript - Codeigniter AJAX 数据返回空

标签 javascript php sql ajax codeigniter

所以我不太熟练使用 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/

相关文章:

php - Docker phpmyadmin忽略了我的php.ini配置

javascript - Php unlink() 返回包含空格的编码文件路径错误

mysql - 按计数选择组

javascript - 在 jQuery 中发布/提交多个表单

javascript - 根据 [Slick] slider 选择加载 div

javascript - 使用 request.getParam 获取按钮的 id

javascript - 模型更改后触发 View 渲染

php - 为什么 php-mongodb 扩展无法工作?

mysql - 比较具有不同列数的 2 个 View

c# - SqlBulkCopy 到具有复合主键的表中