Flask之request.json()和 request.form.get()和request.args.get()

第一种

在Flask中,request.jsonrequest.form.get() 用于从HTTP请求中获取数据,但它们主要用于不同类型的数据传递方式。

  1. request.json

    • 用于从包含JSON数据的请求体中提取数据。

    • 适用于POST请求中包含JSON数据的情况,通常是通过AJAX请求或使用Content-Type: application/json标头发送的数据。

    • 自动解析JSON数据,并返回一个对应的Python字典或其他合适的数据类型。

    • 使用时,确保请求的Content-Type标头是application/json

      data = request.json
      
  2. request.form.get()

    • 用于从表单数据中获取数据。

    • 适用于HTML表单通过POST请求提交的数据,通常使用application/x-www-form-urlencodedmultipart/form-data作为Content-Type

    • 可以通过表单字段的名称来获取相应的值。

      data = request.form.get('fieldname')
      

总的来说,选择使用哪个方法取决于客户端发送数据的方式。如果是JSON数据,使用 request.json;如果是表单数据,使用 request.form.get()。如果可能,可以根据需要同时处理这两种情况,以确保你的应用程序可以处理不同类型的请求。

以下是一个示例,说明如何根据请求的内容类型使用这两种方法:

from flask import Flask, request

app = Flask(__name__)

@app.route('/process_data', methods=['POST'])
def process_data():
    if request.headers['Content-Type'] == 'application/json':
        data = request.json
        # 处理 JSON 数据
    elif request.headers['Content-Type'] == 'application/x-www-form-urlencoded':
        data = request.form.get('fieldname')
        # 处理表单数据
    else:
        return 'Unsupported Media Type', 415  # 返回415状态码表示不支持的媒体类型

    # 进行处理的其他逻辑

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

在实际应用中,通常会根据具体的需求和前端交互来选择使用 request.jsonrequest.form.get()


或前端发请求加这个

第二种

在Flask中,request.jsonrequest.form.get()request.args.get() 用于从HTTP请求中获取数据,但它们主要用于不同的情境和数据传递方式。

  1. request.json

    • 用于从包含JSON数据的请求体中提取数据。

    • 适用于POST请求中包含JSON数据的情况,通常是通过AJAX请求或使用Content-Type: application/json标头发送的数据。

    • 自动解析JSON数据,并返回一个对应的Python字典或其他合适的数据类型。

    • 使用时,确保请求的Content-Type标头是application/json

      data = request.json
      
  2. request.form.get()

    • 用于从表单数据中获取数据。

    • 适用于HTML表单通过POST请求提交的数据,通常使用application/x-www-form-urlencodedmultipart/form-data作为Content-Type

    • 可以通过表单字段的名称来获取相应的值。

      data = request.form.get('fieldname')
      
  3. request.args.get()

    • 用于从URL查询参数中获取数据。

    • 适用于GET请求中通过URL传递的参数。

    • 可以通过查询参数的名称来获取相应的值。

      data = request.args.get('paramname')
      

总的来说,选择使用哪个方法取决于客户端发送数据的方式和HTTP请求的类型:

  • 如果是JSON数据,使用 request.json
  • 如果是表单数据,使用 request.form.get()
  • 如果是通过URL查询参数传递的数据,使用 request.args.get()
posted @ 2023-11-21 13:53  __username  阅读(1454)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。