Python Flask Ajax Post请求的Request.form字典为空

Python Flask Ajax Post请求的Request.form字典为空,python,node.js,ajax,flask,Python,Node.js,Ajax,Flask,我正试图通过Nodejs向flask发出POST请求。当我这样做时,Flask认为request.form字典是空的。以下是烧瓶代码: @app.route("/join_game/join/desktop", methods=["POST"]) def join_game_post_desktop(): print("Hi", request.form.get("gameid"), flush=True)

我正试图通过Nodejs向flask发出POST请求。当我这样做时,Flask认为request.form字典是空的。以下是烧瓶代码:

@app.route("/join_game/join/desktop", methods=["POST"])
def join_game_post_desktop():
    print("Hi", request.form.get("gameid"), flush=True)
    id = request.form.get("gameid")
    try:
        if games[int(id)] != None:
                return jsonify({"success":True, "gameid":id})
    except IndexError:
        pass
    return jsonify({"success":False})
以下是Nodejs(electron)代码:

什么问题?

< P>因为你正在使用<代码>“内容类型”:“应用程序/JSON”< /Cult>烧瓶会考虑这个帖子作为JSON请求。 见
所以需要做的就是使用调用
request.get_json()

    const data = JSON.stringify({
      gameid:document.querySelector("#gameid").value
    });

    const options = {
      host:domain,
      port:5000,
      path:"/join_game/join/desktop",
      method:"POST",
      headers:{
        "Content-Type":"application/json",
        "Content-Length":Buffer.byteLength(data)
      }
    };

    const request = http.request(options, (response) => {
      let data = "";

      response.on("data", (chunk) => {
        data+=chunk;
      });

      response.on("end", () => {
        console.log(data);
      });
    });

    request.write(data);
    console.log(data);
    request.end();