3

この質問は以前に尋ねられたもので、そこで見たことはやったことだと思いますが、何が間違っているのかよくわかりません。jQuery についてはよくわかりませんが、何をしようとしているのかを説明するために最善を尽くします。

データベースからのクエリに基づいてオートコンプリートしたいので、テンプレートにこれを入れます:

<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>

フォームは、この Flask フォーム クラスによって生成されます。

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 はオートコンプリート機能に移動し、オートコンプリートに使用する JSON を取得する必要があります。少なくとも私はそれが起こっていると思います。ここで何が間違っていますか?

4

2 に答える 2