我的JQuery AJAX调用未到达我的Flask视图。在我的应用中,当我单击ID为#myId的按钮时,它应从其“数据”属性返回值。我很难弄清楚为什么不返回数据。
这是javascript:
$(document).ready(function(){
var clicked;
$("#myId").click(function() {
data = $(this).attr("data");
$.ajax({
type : 'POST',
dataType: 'json'
url : '/action',
contentType: 'application/json;charset=UTF-8',
data : {'data': data}
});
});
});
这是我的烧瓶视图:
@app.route("/action", methods=["POST"])
def action():
if request.method == "POST":
id = request.json['data']
app.logger.debug(id)
return render_template("index.html")
我在做什么错?预先感谢您的帮助。
答案 0 :(得分:0)
您应该像JSON.stringify({'data':data})这样对数据进行字符串化处理。 然后您会在“ dataType:'json'”之后忘记“,”。
以下代码在修复后。
$(document).ready(function(){
var clicked;
$("#myId").click(function() {
data = $(this).attr("data");
$.ajax({
type : 'POST',
dataType: 'json',
url : '/action',
contentType: 'application/json;charset=UTF-8',
data : JSON.stringify({'data': data})
});
});
});