Flask当jsonifying列表时,目前会引发错误.
我知道可能有安全原因https://github.com/mitsuhiko/flask/issues/170,但我仍然希望有一种方法来返回如下的JSON列表:
[
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
Run Code Online (Sandbox Code Playgroud)
代替
{ 'results': [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]}
Run Code Online (Sandbox Code Playgroud)
响应application/json请求.如何使用Jsonify在Flask中返回JSON列表?
关于flask和jquery自动完成的另一个问题.我一直在阅读并尝试以下已回答的问题而没有任何成功:
特别是第二个答案完全符合我的情况.
但是由于某些原因(也许是我不理解应该做什么),回调autocomplete(..)只在我加载页面时执行一次(并正确地自动完成值NAMES)但从未在文本框中键入时执行.
search.html
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>
</head>
{{ form.autocomp.label }}: {{ form.autocomp }}
<script>
$(function() {
$.ajax({
url: '{{ url_for("autocomplete") }}'
}).done(function (data) {
$('#autocomplete').autocomplete({
source: data,
minLength: 2
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
application.py
from flask import Flask, Response, render_template, request
import json
app = Flask(__name__)
import wtforms as wt
from wtforms import TextField, Form
NAMES=["abc","abcd","abcde","abcdef"]
class SearchForm(Form):
autocomp= TextField('autocomp',id='autocomplete')
@app.route('/autocomplete',methods=['GET'])
def autocomplete(): …Run Code Online (Sandbox Code Playgroud)