jQuery TextExt - проблема автозаполнения Ajax с указанием URL
Я использую плагин jQuery TextExt для autocomplete
, и у меня нет проблем, используя его пример json url, который является data.json. Но когда я использую свой собственный URL, что-то вроде следующего:
$('#textarea').textext({
plugins : 'autocomplete filter tags ajax',
ajax : {
url :'/users/userApi.do?id=10&scopeType=all&username=user@this.com&password=pass',
dataType : 'json',
cacheResults : true
}
});
Это не работает!!
Данные, которые возвращаются из этого URL-адреса, не заполняются заранее, то есть они заполняют данные на основе id и scopeType и возвращают правильный формат JSON. (Когда я пробую его в браузере и запускаю, я вижу правильный результат на экране).
Должны ли данные JSON всегда быть предварительно заполнены в этом примере?
У меня нет опыта использования автозаполнения, поэтому, пожалуйста, помогите мне здесь, или если есть лучший способ сделать это, было бы здорово, если бы вы могли поделиться.
2 ответа
Попробуйте отключить параметр cacheResults и убедитесь, что вы возвращаете массив результатов в формате JSON. cacheResults для меня не работает, так как мои данные были динамическими.
Пример у меня работает ниже:
$('#marketingkeywords')
.textext({
plugins : 'autocomplete tags ajax',
ajax : {
url : '/ajax/getkeywords.php',
dataType : 'json',
cacheResults : false
},
autocomplete : {
enabled : true,
dropdown : {
position : 'above',
maxHeight : '60px'
}
}
})
;
Также убедитесь, что ваш URL возвращает данные, используя что-то вроде сетевой панели в Chrome (вкладка "Ответ"). https://developers.google.com/chrome-developer-tools/docs/network
Я думаю, что вы делаете какую-то глупую ошибку в отношении включения файлов, таких как, как мисс плагин JS попробуйте добавить плагин AJAX файл, как
<script src="js/textext.core.js" type="text/javascript" charset="utf-8"></script>
<script src="js/textext.plugin.autocomplete.js" type="text/javascript" charset="utf-8"></script>
<script src="js/textext.plugin.suggestions.js" type="text/javascript" charset="utf-8"></script>
<script src="js/textext.plugin.ajax.js" type="text/javascript" charset="utf-8"></script>
а затем попробуйте, как указано выше