Этот вопрос задан раньше, и я думаю, что я сделал то, что видел, но не знаю, что я делаю неправильно. Я не знаю много о jQuery, но я сделаю все возможное, чтобы объяснить, что я пытаюсь сделать.Использование автозаполнения jQuery с Flask
Я хочу автозаполнения на основе запроса из базы данных, так что у меня есть это в моем шаблоне:
<script type="text/javascript">
$(function() {
$("#function_name").autocomplete({
source: '{{url_for("autocomplete")}}',
minLength: 2,
});
});
</script>
<form id="function_search_form" method="post" action="">
{{form.function_name}}
</form>
форма генерируется с помощью этой формы Настой класса:
class SearchForm(Form):
function_name = TextField('function_name', validators = [Required()])
И здесь функция автозаполнения:
@app.route('/autocomplete')
def autocomplete():
results = []
search = request.args.get('term')
results.append(db.session.query(Table.Name).filter(Table.Name.like('%' + search + '%')).all())
return dumps(results)
Так JQuery должен перейти к функции автозаполнения и ге t некоторые JSON вернутся к автозаполнению с. По крайней мере, я думаю, это то, что происходит. Что я здесь делаю неправильно?
@morphyn Да. Он называется function_name. Я даже проверил HTML, созданный Flask, и это правильно. EDIT: Кажется, что комментарий исчез. Ну что ж. – miscsubbin
Привет, miscsubbin, я пытаюсь реализовать эту функцию автозаполнения, но я не могу этого сделать. Я также попробовал ваш метод и попробовал решение, приведенное ниже. но я столкнулся с проблемой получения значения в request.args.get ('term'). Это всегда для меня. Не знаю, что происходит. Было бы здорово, если бы вы могли предоставить фрагмент рабочего кода. Заранее спасибо. – Pradeepb