You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask接口网页端返回空字典,Postman请求却能正常获取值?

问题原因与解决办法

核心问题

request.form 仅用于获取POST请求中通过表单提交(Content-Type: application/x-www-form-urlencoded)的数据。直接在网页地址栏访问路由属于GET请求,参数会附在URL末尾(比如/multiplication?a=10&b=5),这类参数需要用request.args来获取。

解决方式

方式1:兼容GET与POST请求

修改路由装饰器允许两种请求方法,根据请求类型选择对应参数获取方式:

from flask import Flask, request

app = Flask(__name__)

@app.route('/multiplication', methods=['GET', 'POST'])
def multi():
    data = request.form if request.method == 'POST' else request.args
    print('data is', data)
    return f'data is {data}'

if __name__ == '__main__':
    app.run()

方式2:统一获取所有请求参数

用request.values可以同时获取GET的URL参数和POST的表单参数,无需区分请求方法:

from flask import Flask, request

app = Flask(__name__)

@app.route('/multiplication', methods=['GET', 'POST'])
def multi():
    data = request.values
    print('data is', data)
    return f'data is {data}'

if __name__ == '__main__':
    app.run()

方式3:仅支持GET请求(适配网页直接访问场景)

如果只需要处理网页GET访问的场景,直接替换为request.args即可:

from flask import Flask, request

app = Flask(__name__)

@app.route('/multiplication')
def multi():
    data = request.args
    print('data is', data)
    return f'data is {data}'

if __name__ == '__main__':
    app.run()

内容的提问来源于stack exchange,提问作者Shweta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:02:37