#python #django #jquery-ui-autocomplete
#python #django #jquery-пользовательский интерфейс-автозаполнение
Вопрос:
я трачу два дня на этот плагин, и безуспешно — работает только с локальным массивом данных: (у меня есть код (django / python), который генерирует строку json (проверено на http://jsonlint.com / ) что-то вроде этого:
[{"id": 7626, "value": "Jarosu0142aw", "label": "Adrianowicz"}, {"id": 2702, "value": "Bou017cena", "label": "Baranowicz"}, {"id": 2542, "value": "Tomasz", "label": "Baranowicz"}]
мой код jquery:
$('#query').autocomplete({
source: "/aut/", //this generate json and working
minLength: 2
});
я проверяю пример ajax — geonames — и это работает нормально. любая помощь?
Комментарии:
1. Firebug показывает какие-либо ошибки в браузере, вы можете видеть, как он вызывает источник и получает ответ? Что-нибудь в журналах ошибок сервера?
2. установлен ли для вашего mimetype ответа значение mimetype=»application / json» или mimetype = «application / javascript»? потому что иногда людям этого не хватает.
3. в журналах сервера ничего особенного: 127.0.0.1 — — [27/ май/2011:20:01:19 0200] » GET / aut / ?term=now HTTP / 1.1″ 200 136 и, конечно, я использую «application / json» в качестве mimetype
4. Хорошо, это моя глупая ошибка, в коде django все работает хорошо, firebug == теперь мой лучший друг
Ответ №1:
Вы можете использовать любые параметры .ajax внутри автозаполнения. Попробуйте это
$('#query').autocomplete({
source: "/aut/", //this generate json and working
dataType: "json",
minLength: 2
});
Ответ №2:
Для значения source вы можете использовать обратный вызов, а не URL страницы, как в этом примере:
http://jqueryui.com/demos/autocomplete/#remote-with-cache
Использование обратного вызова позволяет вам написать свой собственный успех и обработку ошибок для .ajax. Вероятно, вы захотите использовать .ajax и проверить ошибку.