0

我正在使用 JavaScript 构建一个列表,结果如下所示:

[['14', '15'], ['10']]

我的 Ajax 调用正在对 Flask 服务进行 POST,该服务位于:

@app.route('/search/results', methods = ['POST'])
def results():

    key = request.form['key']
    filters = request.form.get('filters', None)

我能够在帖子中获取过滤器,并且当我进行打印时,我会得到正确的“字符串”结果,它看起来与“应该”完全一样。但是,我需要将它们转换为 list()。我对python比较陌生,所以也许我走错了路。

如果我执行以下操作:

if filters is not None:
    for f in filters:
        print f

我明白了(简化结果):

[
[
"
1
4
"
]
]

谁能指出我正确的方向?

4

1 回答 1

2

通常,通过 HTTP 发送的所有数据都只是字节或字符串。

您需要使用可以处理列表的格式。JSON 就是这样一种格式,flask直接支持这种格式,前提是您实际上是从 AJAX 调用中发布 JSON 数据:

key = request.json['key']
filters = requests.json.get('filters', [])

假设您发布了 JavaScript 结构:

{'key': 'somekey', 'filters': [['14', '15'], ['10']]}
于 2013-01-15T17:57:10.920 回答