我的前端有一个变量,称为图像,其中包含用户选择的少数图像。 以下:
JSON.stringify(images)
然后会返回
["image1", "image2", "image3"]
如果用户选择了前三个图像。
我想将此数组发布到Flask,让flask做一些操作,然后以新的路线返回图像。 我的HTTP帖子的jQuery脚本如下:
$("document").ready(function() {
$("#btn1").click(function(){
$.ajax({
type: 'POST',
contentType: 'application/json',
url: "{{ url_for('filter') }}",
dataType : 'json',
data : JSON.stringify(images)
})
})
})
负责操作的路由如下:
@app.route("/filter", methods=["POST", "GET"])
def filter():
if request.method=="POST":
result=request.get_json()
## Do some manipulation to result
return render_template("result.html",result=result)
我的问题是Flask检索的数据为空。
答案 0 :(得分:0)
将Flask应用服务器预期得到的响应的dataType配置为JSON
。
dataType: 'json',
那不是正确的数据类型,因为Flask服务器在响应中返回HTML,而jQuery在尝试将其解析为JavaScript对象时遇到错误。
return render_template("result.html", result=result)
JSON响应可以从服务器返回并在成功处理程序中适当处理。
from flask import jsonify
#...
return jsonify(result)
或者将响应的dataType
设置为html
(为此,您可以将返回的标记片段插入HTML文档中。)