【发布时间】:2018-12-02 22:11:51
【问题描述】:
我正在开发一个项目,该项目使用烧瓶和 sql 数据库显示酒店和 airbnb 数据。我们正在尝试创建一个“收藏按钮”,以便用户可以收藏/取消收藏列表。我有一个对 Flask 端点的 AJAX 调用,它将对“收藏夹”表进行相应的 SQL 查询。我的问题是,我似乎无法访问传递给 Flask 的数据。
这是我在客户端的 AJAX 调用:
function unfavoriteClicked(uid, itemid, type){
$.ajax({
type: "POST",
url: "/unfavorite",
data:{uid:uid, itemid:itemid, type:type},
contentType: 'application/json;charset=UTF-8',
success: function(data) {
console.log(data);
},
error: function(jqXHR) {
alert("error: " + jqXHR.status);
}
});
}
这是我的 Flask 代码:
@app.route('/unfavorite', methods=["GET","POST"])
def unfavorite():
if request.method == "POST":
return request.form
return "this shouldn't happen"
请注意,由于我发现我没有在 Flask 中正确访问数据,因此我已经删除了 SQL 逻辑和其他内容。
我确信 AJAX 请求会通过,因为当我返回类似“hello”的内容时,它会显示在控制台日志中。但是,当我尝试访问要传入的数据字典时,它会返回“500 内部服务器错误”或其他类型的错误,具体取决于我要访问的内容。我试图通过查看其他 stackoverflow 帖子(如 request.form['data']、request.data、request.args 等)来访问一堆不同的东西,但似乎没有任何东西可以让我访问数据。但是,它似乎允许我访问“request.method”。
我想知道是否有一些我在这里遗漏的基本内容是我无法将数据传递给 Flask 的原因?或对执行此“收藏”按钮的任何其他建议表示赞赏。谢谢!
【问题讨论】:
标签: javascript python ajax flask