Помогите с автозаполнением ajax, запросив базу данных - PullRequest
0 голосов
/ 14 апреля 2011

Вопрос, который приходит мне в голову, заключается в том, возвращает ли мой запрос значения из базы данных или я что-то пропустил в своем коде.Я пытался понять это, но я не в состоянии понять.

print_r ($ tagnames) ничего не печатает на экране.

Этот код является частью контроллера

function get_Names() {
            // Convert the string to the lowercase
            $q = strtolower($this->input->post('q', TRUE));
            if(!$q) {
                return;

            }
            $tagnames[] = $this->autocomplete_model->getData();
            print_r($tagnames);

            echo json_encode($tagnames);

        }

У меня естьautocomplete_model.php и этот код является частью модели

class Autocomplete_model extends CI_Model {

    public function __construct() {
        parent::__construct();
    }

    function getData() {
        $q = $this->db->query("SELECT * FROM tags");
        if($q->num_rows() > 0) {
            foreach($q->result() as $row) {
                $data[] = $row->tag_name;
            }
            return $data;
        }
    }
}

У меня есть следующий код на мой взгляд

$(document).ready(function() {
    $(function() {
        $( "#tagname" ).autocomplete({
                    source: function(request, response) {
                        $.ajax({ url: "<?php echo site_url('generator/get_Names'); ?>",
                        data: { term: $("#tagname").val()},
                        dataType: "json",
                        type: "POST",
                        success: function(data){
                                response(data);
                        }
                    });
        },
        minLength: 2
        });
    });
    });

Заранее спасибо.

1 Ответ

1 голос
/ 19 апреля 2011

Похоже, ваш AJAX-вызов отправляет "term" в качестве данных поста, но ваш метод get_Names () ищет параметр поста "q". Измените одну из них, и я думаю, что вы должны быть хорошими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...