我正在使用Flask,对一个视图进行Ajax调用,该视图在坐标范围内查找一些数据,我只希望能够返回这些数据。它成功地到达视图,查询数据库并返回数据,但JavaScript代码没有收到响应
Ajax调用如下所示:
$.ajax({
type: "POST",
dataType: "application/json",
url: "/getsignswithin",
data: dataToSubmit,
success: function(data) {
console.log(data);
}
});
烧瓶路径如下所示:
@app.route("/getsignswithin", methods=['POST'])
def signs_within():
data = request.get_json(force=True)
signs = db.signs.find({
'location': {
'$geoWithin': {
'$box': [
[ data['extent'][0],data['extent'][1] ],
[ data['extent'][2],data['extent'][3] ]
]
}
}
})
print(dumps(list(signs)))
#return jsonify(success=True)
return dumps(list(signs)), 200, {'ContentType':'application/json'}
打印(转储(列表(符号))显示数据,但在Ajax的成功部分没有收到任何内容。不会向浏览器控制台或Python控制台报告任何错误
我尝试了return-jsonify(success=True),只是想看看它是否返回了任何东西,但这也不起作用
控制台输出:
127.0.0.1 - - [07/Jul/2020 17:06:12] "POST /getsignswithin HTTP/1.1" 200 -
[<listdatahere>]
127.0.0.1 - - [07/Jul/2020 17:06:13] "POST /getsignswithin HTTP/1.1" 200 -
将数据类型更改为“json”,而不是“application/json”,可以让它返回数据。感谢newbie99提供有关错误回调的建议,使我能够识别问题。我会记得在以后的故障排除中这样做
您需要按如下方式返回:
相关问题 更多 >
编程相关推荐