如何在Flask中获取表单数据?

我需要从表单获取数据。

我使用JavaScript创建表单:

<script>   

function checkAuth() {

var user = ADAL.getCachedUser();

if (user) {

var form = $('<form style="position: absolute; width: 0; height: 0; opacity: 0; display: none; visibility: hidden;" method="POST" action= "{{ url_for("general.microsoft") }}">');

form.append('<input type="hidden" name="token" value="' + ADAL.getCachedToken(ADAL.config.clientId) + '">');

form.append('<input type="hidden" name="json" value="' + encodeURIComponent(JSON.stringify(user)) + '">');

$("body").append(form);

form.submit();

}

}

</script>

那么我需要从输入字段中获取数据name="json"

这是我的视图函数:

@general.route("/microsoft/", methods=["GET", "POST"])

@csrf.exempt

def microsoft():

form = cgi.FieldStorage()

name = form['json'].value

return name

但我得到一个错误:

builtins.KeyError KeyError: 'json'

帮我从表格中获取数据。

回答:

Flask的请求对象获取表单数据:

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def index():

data = request.form['input_name']

...

你还可以设置默认值以避免400错误,如下所示:

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def index():

default_name = '0'

data = request.form.get('input_name', default_name)

...

以上是 如何在Flask中获取表单数据? 的全部内容, 来源链接: utcz.com/qa/435279.html

回到顶部