flask的前后端交互方式

以按键为例

1. 路由跳转

route修饰器在主程序指定处理函数,通过跳转到路径触发相应操作

超级链接跳转href

2. http方法传递参数,json返回

3. 网页js函数发送查询指令,json返回数据,回显或改变页面

ajax方式交换数据

python通过flask和前端进行数据收发_小明的专栏-CSDN博客_flask 获取前端数据

Flask学习总结笔记(12) -- 利用ajax进行前后端数据交互_kikaylee的专栏-CSDN博客_flask前后端数据交互

jquery+json方式交互数据

插件库下载地址

jquery下载所有版本(实时更新)

选择相应的版本,解压到/static目录下

前端,发送及接收数据,index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <label for="send_content">向后台发送消息:</label>
    <input id="send_content" type="text" name="send_content">
    <input id="send" type="button" value="发送">
</div>
<div>
    <label for="recv_content">从后台接收消息:</label>
    <input id="recv_content" type="text" name="recv_content">
</div>


<script src="/static/jquery-3.5.1/jquery-3.5.1.min.js"></script>
<!-- 发送 -->
<script type="text/javascript">
    $("#send").click(function () {
        var message = $("#send_content").val()
        $.ajax({
            url:"http://127.0.0.1:5000/send_message",
            type:"GET",
            data:{
                message:message
            },
            success:function (data) {
                alert(data)
            },
            error:function () {
                alert("接收失败")
            }
        })
    })
</script>

<!-- 接收 -->
<script type="text/javascript">
    $("#send").click(function () {
        $.getJSON("http://127.0.0.1:5000/change_to_json",function (data) {
            $("#recv_content").val(data.message) //将后端数据显示在前端
            console.log("传到前端的数据的类型:" + typeof (data.message))
            $("#send_content").val("")//发送的输入框清空
        })
    })
</script>

</body>
</html>

后端,接收及发送数据

from flask import Flask, render_template, request, jsonify

app = Flask(__name__)


@app.route('/')
def index():
    return render_template("index.html")


@app.route('/send_message', methods=['GET'])
def send_message():
    global message_get
    message_get = ""

    message_get = request.args['message']
    print("收到前端发过来的信息:%s" % message_get)
    print("收到数据的类型为:" + str(type(message_get)))

    return "收到消息"


@app.route('/change_to_json', methods=['GET'])
def change_to_json():

    global message_get
    message_json = {
        "message": message_get
    }

    return jsonify(message_json)


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

返回消息的是弹出的消息框,更新到网页控件的是更新的数据,console.log打印的信息在网页打开开发者工具的console窗口可以查看。

这是个典型的案例。

  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海里的鱼2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值