【发布时间】:2017-08-02 09:13:16
【问题描述】:
我是 codeignitor 的新手,并试图从数据库中获取 jquery autocomplete。已经有很多关于这个主题的问题被问到,但没有一个对我有帮助。
这是我的视图文件中的脚本函数
查看
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js">
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js">
</script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-
ui.css" />
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js">
</script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script type="text/javascript">
$(function() {
$( "#vname" ).autocomplete({
source: function(request, response) {
$.ajax({
url: "vendor/search",
data: { term: $("#vname").val()},
dataType: "json",
type: "GET",
success: function(data){
var resp = $.map(data,function(obj){
return obj.tag;
});
response(resp);
}
});
},
minLength: 2
});
});
</script>
</head>
.
.
.
.
<input type="text" class="form-control" name="vendor_name" id="vname" />
这里是控制器(供应商)函数(搜索),我试图从中获取来自数据库的建议数组
控制器
public function search()
{
$json = [];
$this->load->database();
if(!empty($this->input->get("term"))){
$this->db->like('name', $this->input->get("term"));
$query = $this->db->select('id,name as text')
->limit(10)
->get("vendors");
$json = $query->result();
}
echo json_encode($json);
}
问题是,当我在输入字段中输入时,什么也没有发生(没有出现自动完成),但我的供应商/搜索功能在直接访问它并将某些内容作为参数传递时工作正常。我认为$_GET[term] 总是空的什么的。
我不知道现在该做什么,任何建议都会很有意义。
【问题讨论】:
-
相反,如果 get() 可以在控制器和 ajax 上尝试 post() 类型:“POST”,
-
我已经试过了。没用
-
尝试从 Ajax 请求中删除
dataType: "json", -
你在ajax响应中得到json了吗?
-
@ankitsuthar 我已经编辑了我的问题。
标签: php jquery codeigniter autocomplete