【问题标题】:Sending JavaScript object as a string to将 JavaScript 对象作为字符串发送到
【发布时间】:2020-10-18 02:55:24
【问题描述】:

我正在使用 AJAX 将 JSON 字符串 POST 到 Python Flask,但该字符串似乎没有传递给 Flask 应用程序。

scoresaver.addEventListener('click', function(ev){
    if (scorestate==1) {
      var pdata = {'uname':uname, 'score':score.saved}
      $.ajax({
        type: 'POST',
        url: '/',
        data: JSON.stringify(pdata),   
        })
      score.saved=null;
      scorestate=0;
    }
});

点击按钮时,上面的代码应该将 JavaScript obj 作为字符串“发送”到 Python Flask。我已经验证 JSON.stringify (pdata) 产生了我需要的字符串。

@app.route("/", methods=["GET", "POST"])
def index():
    if request.method == "POST":

        print(request.get_json())

        return render_template("index.html")

    else:
        return render_template("index.html")

这是我在我的 Flask 应用程序打印中的代码(request.get_json() 结果为 None。

【问题讨论】:

    标签: javascript python json ajax flask


    【解决方案1】:

    请将此密钥添加到您的 ajax 调用中,然后重试:

    contentType: "application/json",
    

    仅当内容类型设置为 JSON 时才会填充请求的 get_json()

    【讨论】:

    • 这是问题的确切原因。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 2015-10-26
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2012-10-11
    相关资源
    最近更新 更多