jquery - 使用 Flask 和 MySQL 实现 CSS 自动完成

标签 jquery python mysql flask materialize

我想做的是使用 Materialise CSS 创建一个具有自动完成功能的搜索栏。我使用一个简单的数组来工作。工作代码:

<input type="text" placeholder="search" id="autocomplete-input" class="autocomplete" >

<script>
$(document).ready(function () {
$('input.autocomplete').autocomplete({
    data: {
        "Dog": null,
        "Bear": null,
        "Bull": null,
        "Cat": null
    }
});
});
</script>

我想做的是使用 Flask 返回到我的 MySQL 数据库,而不是在脚本中使用数组。我一直在尝试一些 flask 路线,但没有运气。

@app.route('/autocomplete', methods=['POST', 'GET'])
def autocomplete():
if request.method == 'POST':
    query = request.form['query']
    try:

        with db.cursor() as cursor:
            sql = "SELECT short_name, name FROM table WHERE name LIKE %s"
            cursor.execute(sql('%' + query + '%'))
            result = cursor.fetchall()
    finally:
        a = 2
        return render_template("results.html", search_result=result)
else:

    return "ooops"

有人知道这是否可能吗?

最佳答案

下面的示例使用Jquery-UI。包括this在您的 HTML 文件中。

$(document).ready(function(){
        $('input.autocomplete').autocomplete({
            source: function (request, response) {
                $.ajax('/autocomplete', {
                    'method': 'GET',
                    'data': request
                }).done(function (data) {
                    response(data['items']);
                }).fail(function () {
                    console.log('fail');
                });
            },
            minLength: 3, // minimum Length of characters
        });
    });

关于jquery - 使用 Flask 和 MySQL 实现 CSS 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43376275/

相关文章:

python - 如何估计pyspark中数据框的实际大小?

javascript - 在 JavaScript (jQuery) 中使用 HTML 片段作为模板

javascript - 动画步骤函数中的 jQuery 对象在每次函数调用时返回 "undefined"

javascript - 组合框 jquery onchange 事件

python - Beautiful Soup findAll() 对 findall() 的结果返回 TypeError

mysql - 使用以连字符开头的数据格式化 mysql 查询时遇到问题

javascript - 为什么我的 fadeOut() 方法不起作用?

python - 使用脚本将文件从 UNIX 复制到 Windows

mysql - 如何将日期汇总到新列

mysql - Shopware Docker无法登录Docker MySQL数据库