-1

在我的代码中,我不断从我的 javascript XML HTTP Post 请求中获得一个空的不可变字典。这是发送请求的 javascript (javascript):

xhr = new XMLHttpRequest();
xhr.open("POST", "https://webpage-hoster--lovethebears1o1.repl.co/save", true)
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({
    username: infotxt[0],
    password: infotxt[1],
    number: infotxt[2],
    code: input.value,
    name: titleBox.value
}));

蟒蛇:

@app.route("/save", methods=["POST"])
def save():
  try:
    print(str(request.form))
    username = str(request.form["username"])
    pword = str(request.form["password"])
    number = int(request.form["number"])
    code = str(request.form["code"])
    name = str(request.form["name"])
  except Exception as e:
    print("error-1-" + str(e))
    return "error"
return "success"

当我运行它时,我在输出中得到这个:

ImmutableMultiDict([])
error-1-400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

服务器将其视为一个空字典,即使发送时其中有值。

4

1 回答 1

1

当您以 JSON 格式发送帖子时,它不在request.form. 尝试:

from flask import jsonify, request

JSON_received = request.get_json()

print(JSON_received)
print(jsonify(JSON_received)) # note the difference

username = JSON_received["username"]
etc...
于 2020-07-27T22:57:08.747 回答