首先,是的,我知道还有其他类似的问题,我已经尝试过那里的解决方案,但没有运气。
我使用PHP,codeigniter和jquery UI自动完成功能。我正在关注this教程,但它无法正常工作。
我的模特:
class Tags_model extends Model{
function get_tag($q){
$db = mysqli_connect("localhost","root","","km_portal") or die("Could not connect");
$query = mysqli_query($db,"SELECT * FROM resource WHERE tags LIKE '%".$q."%'");
if(mysqli_num_rows($query) > 0){
while($row = mysqli_fetch_array($query)){
$new_row['label']= $row['tags'];
$new_row['value']= $row['tags'];
$row_set[] = $new_row; //build an array
}
echo json_encode($row_set); //format the array into json
}}}
我的观点:
<?php echo form_open('search/do_search');?>
<input type="text" name="search" id="tags" placeholder="Search tags"/>
<input type="submit" value=">>" />
<span id="noMatches"></span>
</form>
使用javascript:
<script type="text/javascript">
$(jQuery(document).ready(function(){
$("#tags").autocomplete({
source: "search/get_tags",
response: function(event,ui){
if (ui.content.length === 0) {
$("#noMatches").html("No matches");
} else {
$("#noMatches").empty();
}
}
});
}));
最后,我的控制器:
function get_tags(){
$this->load->model('tags_model');
if(isset($_GET['term'])){
$q = strtolower($_GET['term']);
$this->tags_model->get_tag($q);
}}
尝试运行此操作时检查Chrome控制台,错误似乎是参数&#39; term&#39;将其自身添加到网址:localhost/km/index.php/search/get_tags?term=a
。我收到错误404(未找到)
真正感谢任何帮助。我已经坚持了一个多月(这是我第一次使用codeigniter)。
谢谢!
编辑:使用以下js:
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>jquery-ui-1.11.4.custom\jquery-ui.css"/>
<script type="text/javascript" src="<?php echo base_url();?>jquery-ui-1.11.4.custom\external\jquery\jquery.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>jquery-ui-1.11.4.custom\jquery-ui.js"></script>
答案 0 :(得分:0)
您遇到路由问题我猜猜您的搜索网址是
http://domain.com/search/get_tags?term=blah
我在这里看到了问题:
<?php echo form_open('search/do_search');?>
<input type="text" name="search" id="tags" placeholder="Search tags"/>
<input type="submit" value=">>" />
<span id="noMatches"></span>
</form>
表单的路径应如下所示:/search/do_search
要制作绝对路径,否则您将获得相对路径
编辑:只是为了帮助你,当我使用自动填充功能时,我常常检查谷歌,如果您的情况http://domain.com/search/get_tags?term=blah
中的网址正在正确检索json,则调试问题