Как я могу установить источник Typeahead от вызова Ajax.Я попробовал приведенный ниже код, но он кажется неопределенным. Загрузка из локального массива работает нормально.Только реализация ajax имеет проблему.
Ajax:
$('#account-drp .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'account',
source: function(query, result)
{
$.ajax({
url:"/review/account_lookup_no_db.php",
method:"POST",
data:{query:query},
dataType:"json"
})
}
});
account_lookup.php:
<?php
$accounts = array('Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming','Highland');
if (isset($_REQUEST['query'])) {
$query = $_REQUEST['query'];
$matchstr = "/".$query."/";
$matches = preg_grep($matchstr,$accounts);
$data = array();
foreach($matches as $match) {
$data[] = $match;
}
//print_r($data);
//RETURN JSON ARRAY
header('Content-Type: application/json;charset=utf-8');
echo json_encode ($data);
exit();
}
?>