【发布时间】:2016-04-14 18:51:33
【问题描述】:
无法使 jQuery 自动完成小部件与 Flask 框架一起使用。 (http://jqueryui.com/autocomplete/#remote 这里是一个例子)
在 manage.py 我得到以下内容:
@app.route('/autocomplete', methods=['GET'])
def autocomplete():
results = []
search = request.args.get('autocomplete')
for mv in db_session.query(Movie.title).filter(Movie.title.like('%' + str(search) + '%')).all():
results.append(mv[0])
return jsonify(json_list=results)
我的 index.html 文件:
<head>
...
<link href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" rel="Stylesheet"></link>
<script src="../static/js/jquery.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js" ></script>
<script type="text/javascript">
$(function() {
$.ajax({
url: '{{ url_for("autocomplete") }}'
}).done(function (data) {
$('#autocomplete').autocomplete({
source: data.json_list,
minLength: 2
});
});
});
</script>
...
</head>
<body>
...
<div>
<input name="autocomplete" type="text" id="autocomplete" class="form-control input-lg"/>
</div>
...
</body>
看起来 Firefox 中的开发工具不会返回任何错误。 终端返回以下内容:
“GET /自动完成 HTTP/1.1”200 -
“GET / HTTP/1.1”200 -
“GET /static/css/bootstrap.css HTTP/1.1" 304 -
"GET /static/js/jquery.js HTTP/1.1" 304 -
小部件无法正常工作。由于我对 jQuery 了解不多,我无法弄清楚导致问题的原因。有人可以帮帮我吗?
【问题讨论】:
-
您的 ajax 是否正常工作并到达服务器端?
标签: javascript jquery ajax flask autocomplete