У меня есть результат запроса в контроллере, который я закодировал до json
. Мне нужно передать его в javascript, потому что я хочу использовать typeahead js
для ввода автозаполнения. Это моя попытка:Как получить результат JSON от контроллера на JavaScript
Мой контроллер (admin.php):
public function promotion()
{
$this->db->distinct();
$this->db->select("from_email");
$this->db->from('booking');
$query2 = $this->db->get();
$results = $query2->result_array();
$data['from_email'] = json_encode($results);
$this->template->render('admin/promotion',$data,'admin');
}
Мой вход поиск (на поиск на основе адреса электронной почты из базы данных):
<input type="text" name="email" class="form-control input-lg typeahead typeahead-from-email" id="email" required="required" autocomplete="off" tabindex="1" />
Javascript:
var emails = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace('from_email');
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: base_url + 'admin/promotion'
});
$('.typeahead-from-email').typeahead({
hint: true,
highlight: true,
minLength: 3
},
{
name: 'from_email',
displayKey: 'from_email',
source: from_email
});
Это не работает.
Что ожидается результат '$ данных [ 'FROM_EMAIL'] = json_encode ($ результатов) ; '? – guest271314
Я надеюсь, что это не настоящие адреса электронной почты ... –
Проблема может быть в том, что вы возвращаете страницу рендеринга, а не только сам JSON. Что генерирует шаблон «admin/promotion»? –