【发布时间】:2017-11-11 07:38:40
【问题描述】:
所以我想问一下为什么我的自动完成功能不起作用,我想从控制器内部的数据库中获取数据,但它没有给我结果。这是代码。
JS
$(document).on('show.bs.modal', '#searchmusic', function() {
$('#searchtags').tagit({
allowSpaces: true,
placeholderText: 'Search Tags',
autocomplete: ({
source: function(request, response) {
$.ajax({
url: base_url + '/songtags/search_tags',
type: "GET",
success: function(data) {
var songtagdata = JSON.parse(data);
response($.map(songtagdata, function(key, value) {
return {
label: value.tag_name,
value: value.tag_name
}
console.log(songtagdata);
}));
},
error: function(request, status, error) {
alert(error);
}
})
},
minLength: 2
})
});
});
控制器
public function search_tags(){
$song_tags = $this->song_tags_model->get_tags();
$encode = json_encode($song_tags);
echo $encode;
}
【问题讨论】:
-
您是否返回
json作为响应尝试添加console.log(data);并在控制台中查看响应不是除json之外的任何其他内容。虽然我可以看到你在 search_tags 中使用json_encode(),但它是否是 valkid json -
嗯。问题是这样的。在我的 console.log 中。它不显示任何内容。猜猜ajax没有运行?
-
它没有在网络选项卡中显示 ajax 调用?
-
哦。实际上我正在获取数据。也许只是响应编码错误?
-
是的,这就是我要说的,它是否返回有效的 json 字符串,tagit 是否需要 taht
标签: php jquery codeigniter autocomplete