jQuery AJAX调用未到达Flask视图

时间:2018-12-14 07:08:19

标签: jquery ajax flask

我的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")

我在做什么错?预先感谢您的帮助。

1 个答案:

答案 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})
     });
  });
});