【Flask 3.1.2】2 获取请求数据与返回json数据
需要request包
获取请求数据
GET 方式请求(默认)
关键代码
# http://127.0.0.1:5000/index 执行index() GET
# http://127.0.0.1:5000/index?age=18&pwd=123456 执行index() GET 默认
@app.route("/index")
def index():
age = request.args.get("age") # 获取用户url传递过来的参数
pwd = request.args.get("pwd")
print(age, pwd)
return "成功"
完整代码
from flask import Flask, request
app = Flask(__name__)
# http://127.0.0.1:5000/index 执行index() GET
# http://127.0.0.1:5000/index?age=18&pwd=123456 执行index() GET 默认
@app.route("/index")
def index():
age = request.args.get("age") # 获取用户url传递过来的参数
pwd = request.args.get("pwd")
print(age, pwd)
return "成功"
@app.route("/home")
def home():
return "失败"
if __name__ == '__main__':
app.run(host="127.0.0.1", port=5000)
POST 方式请求
可以在请求体中包含一些数据
关键代码
# http://127.0.0.1:5000/index 执行index() POST
@app.route("/index", methods=["POST", "GET"])
def index():
age = request.form.get("age") # 获取用户请求体传递过来的参数
pwd = request.form.get("pwd")
print(age, pwd)
return "成功"
完整代码
from flask import Flask, request
app = Flask(__name__)
# http://127.0.0.1:5000/index 执行index() GET
# http://127.0.0.1:5000/index?age=18&pwd=123456 执行index() GET 默认
# http://127.0.0.1:5000/index 执行index() POST
@app.route("/index", methods=["POST", "GET"])
def index():
age = request.form.get("age") # 获取用户请求体传递过来的参数
pwd = request.form.get("pwd")
print(age, pwd)
return "成功"
@app.route("/home")
def home():
return "失败"
if __name__ == '__main__':
app.run(host="127.0.0.1", port=5000)
写一个小脚本post.py来模拟发送POST请求
import requests
# 目标URL
url = "http://127.0.0.1:5000/index"
# 要发送的请求体数据(字典形式)
data = {
"age": "18",
"pwd": "123456"
}
# 发送POST请求
response = requests.post(url, data=data)
# 处理响应
print("状态码:", response.status_code) # 200表示成功
print("响应内容:", response.text) # 响应的文本内容
# 如果响应是JSON格式,可以直接解析
if response.status_code == 200:
try:
json_data = response.json()
print("JSON响应:", json_data)
except ValueError:
print("响应不是JSON格式")
可以看到返回

Flask后台返回

GET与 POST的对比

返回json结果
关键代码
return jsonify({'status': True, 'data': "hello, flask"})
完整代码
from flask import Flask, request, jsonify
app = Flask(__name__)
# http://127.0.0.1:5000/index 执行index() GET
# http://127.0.0.1:5000/index?age=18&pwd=123456 执行index() GET 默认
# http://127.0.0.1:5000/index 执行index() POST
@app.route("/index", methods=["POST", "GET"])
def index():
age = request.form.get("age") # 获取用户请求体传递过来的参数
pwd = request.form.get("pwd")
print(age, pwd)
return jsonify({'status': True, 'data': "hello, flask"})
@app.route("/home")
def home():
return "失败"
if __name__ == '__main__':
app.run(host="127.0.0.1", port=5000)
请求端可以看到返回的结果

服务器端可以正确接收

网页可以正常显示

参考资料
【Flask 3.1.2】2 获取请求数据与返回json数据的更多相关文章
- ajax请求、servlet返回json数据
ajax请求.servlet返回json数据 1.方式一 response.setcontenttype("text/html;charset=utf-8"); response. ...
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...
- javaweb Servlet接收Android请求,并返回json数据
1.实现功能 (1)接收http请求 (2)获取Android客户端发送的参数对应的内容 (3)hibernate查询数据库 (4)返回json数据 2.java代码 import EntityCla ...
- 微信小程序,请求php后台返回json数据多出隐藏字符问题
这几天在做一个微信小程序注册登录页面的时候碰到一个问题,就是使用wx.request api的时候success中返回的JSON数据前面会多出空白字符,后面网上查了一下是说php bom头问题(详细介 ...
- 用jQuery的ajax请求一般处理程序返回json数据
1.web页面代码: 注意事项: dataType类型一定要写成json. 2.一般处理程序代码: 注意事项: ContentType类型写成"application/json"或 ...
- 商城项目,java返回json数据,报错406
前言: 项目结构为maven,搭建好架构,整合ssm,进行测试, 从数据库中查询数据,返回json数据,结果报错406 问题: 解决: 1,确定项目中json包是否存在(极大可能出于此) 2,处理器适 ...
- 微信小程序POST请求参数传递不到后台, 前台获取不到后端返回的数据, 以及 post 请求返回 404 但后台能收到数据
1 微信小程序POST请求参数传递不到后台 需要在微信请求 wx.request 改变默认 header 配置为如下 wx.request({ url: 'test.php', //仅为示例,并非真实 ...
- Query通过Ajax向PHP服务端发送请求并返回JSON数据
Query通过Ajax向PHP服务端发送请求并返回JSON数据 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuer ...
- Flask 框架 重定向,捕获异常,钩子方法及使用jsonify在网页返回json数据
Flask 框架中常用到重定向方法来实现路由的跳转 ,路由跳转又分为站内跳转和站外跳转 常用的站内跳转方法为url_for 而常用的站外跳转为redirect 在这里提示一下: 在使用两种方法是须调 ...
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
SON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON在前后台交互的过程中发挥着相当出色的作用.请接着往下看教 ...
随机推荐
- 今天遇到了 X-Y PROBLEM
什么是X-Y 问题呢? 以下参考来自于耗子叔博客: 想解决问题X 他觉得Y可能是解决X的方法 但是他不知道Y应该怎么做 于是他去问别人Y应该怎么做? X-Y Problem 最大的严重问题就是:在一个 ...
- jenkins的搭建及问题处理
Jenkins搭建第一步 本文讲述的本人搭建Jenkins的流程及遇到的坑及处理方法 1.搭建 Linux操作系统为Centos Jenkins版本为24稳定版 操作命令: sudo wget -O ...
- ChatGPT搅动AI芯片的“一池春水”
这是IC男奋斗史的第37篇原创 本文1520字,预计阅读4分钟. ChatGPT是什么以及它的发展历程,相信各位老铁们都已经很清楚,杰哥便不再赘述.大家都知道,杰哥是做AI芯片的,ChatGPT与杰哥 ...
- Windows Server ServerManager.exe 应用程序错误 0xc0000135 ServerManager.exe 无法启用
将 Windows Server .NET Framework移除. IIS卸载后, Server Manager.exe.事件查看器等都无法正常开启. 解决方案: 在运行中,输入CMD,打开命令控 ...
- Windows 系统 局域网文件夹共享无法访问的终极解决方法
先介绍 Win10 无法访问其他电脑的解决方法 首先,Win10 能成功访问共享文件夹,必须有安装 SMB1 协议,否则会提示找不到网络名称的提示. 方法很简单,点击 微软小娜 Cortana 输入 ...
- vue打包后文件自定定义命名规则
js文件和svg以及图片 module.exports = { chainWebpack: config = >{ const svgRule = config.module.rule('svg ...
- java 中的访问限制
简介 1)仅对本类可见--private 2) 对所有类可见--public 3) 对本包和所有子类可见--protected 4) 对本包可见--默认,不需要修饰符
- iview开发中遇到的问题汇总
目录 1.input无法监听enter事件 2.iview重置表单不能用 3.校验表单不能用或者报错 "TypeError: Cannot read property 'validate' ...
- Rust中struct的function与method
一个示例就能看明白,关键处皆有注释,大致要点:impl 一个struct时,1.如果方法参数为&self,则为方法 ,可以用"对象实例.方法"来调用2.如果方法参数不是&a ...
- Win11系统为什么不显示缩略图的问题
有雨林木风官网的小伙伴在使用win11正式版系统打开文件夹时,正常都会看到缩略图,但一些小伙伴说他的电脑却没有显示缩略图.这是为什么啊,又该如何解决?接下来,雨林木风小编将为大家分享详细的解决方法,希 ...