Пробовал какое-то время и не может найти ответ на этот вопрос. Typeahead работает с локальными данными, но не с удаленными данными. Хотя я вижу запрос в консоли, но он не возвращает никаких данных в typeahead.Удаленные данные Typeahead не отображаются в текстовом поле, но работают локальные данные
В консоли, как я печатаю я получаю:
XHR finished loading: GET "http://mypath/msqCity.php?City=ne"
XHR finished loading: GET "http://mypath/msqCity.php?City=new"
И так как я печатаю. Но ничего в поле типа.
У меня есть страница PHP с запросом на нее. Страница запроса работает нормально и возвращает данные. Я заметил, что ключевое значение массива показывает двойные кавычки, а не одиночные.
Я использую json_encode
о результатах и выводит
[{"City":"New York","StateProvince":"NY","Country":"US"},
{"City":"Newton","StateProvince":"MA","Country":"US"},
{"City":"New Orleans","StateProvince":"LA","Country":"US"}...]
Я попытался остановить двойные кавычки и получить:
[{City:"New York",StateProvince:"NY",Country:"US"},
{City:"Newton",StateProvince:"MA",Country:"US"},
{City:"New Orleans",StateProvince:"LA",Country:"US"}...]
Ни один из них работают удаленно.
Если я поместил данные в local на typeahead и вставлял несколько записей, он работает.
<body>
<div id="remote">
<input class="typeahead" type="text" placeholder="Enter City">
</div>
<script type="text/javascript">
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('City'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
/* local: [{
City: 'Hartford',
StateProvince: 'CT',
Country : 'US'
},
{
City: 'Trumbull',
StateProvince: 'CT',
Country: 'US'
},
{
City: 'New York',
StateProvince: 'NY',
Country: 'US'
},
{
City: 'New Britain',
StateProvince: 'CT',
Country: 'US'
}
]}); */
prefetch: 'ScriptLibrary/msqCity.php',
remote: {
url: 'ScriptLibrary/msqCity.php?City=%QUERY',
wildcard: '%QUERY'
}
});
$('#remote .typeahead').typeahead(null, {
name: 'City',
display: 'City',
source: cities
});
</script>
</body>
Любое направление будет оценено.