详解Python flask的前后端交互


Posted in Python onMarch 31, 2022

场景:按下按钮,将左边的下拉选框内容发送给后端,后端再将返回的结果传给前端显示。

按下按钮之前:

详解Python flask的前后端交互

按下按钮之后:

详解Python flask的前后端交互

代码结构

这是flask默认的框架(html写在templates文件夹内、css和js写在static文件夹内)

详解Python flask的前后端交互

前端

index.html

很简单的一个select下拉选框,一个按钮和一个文本,这里的 {{ temp }} 是从后端调用的。

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="static/css/style.css">
    <title>TEMP</title>
</head>
<body>
    <div class="container">
        <div class="person">
            <select id="person-one">
                <option value="新一">新一</option>
                <option value="小兰">小兰</option>
                <option value="柯南">柯南</option>
                <option value="小哀">小哀</option>
            </select>
        </div>
        <div class="transfer">
            <button class="btn" id="swap">转换</button>    
        </div>
        <p id="display">{{ temp }}</p>
    </div>
    <script src="/static/js/script.js"></script>  
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</body>
</html>

script.js

这里给按钮添加一个监听事件,按下就会给服务器发送内容,成功了则返回内容并更改display

注意

  • 需要在html里添加<script src="https://code.jquery.com/jquery-3.6.0.min.js">,否则$字符会报错。
  • dataType如果选择的是json,则前后端交互的内容均应为json格式。
const person = document.getElementById('person-one');
const swap = document.getElementById('swap');
function printPerson() {
    $.ajax({
         type: "POST",
         url: "/index",
         dataType: "json",
         data:{"person": person.value},
         success: function(msg)
         {
             console.log(msg);
             $("#display").text(msg.person);//注意显示的内容
         },
         error: function (xhr, status, error) {
            console.log(error);
        }
    });
}
swap.addEventListener('click', printPerson);

后端

app.py

from flask import Flask, render_template, request
app = Flask(__name__)

@app.route('/')
@app.route("/index", methods=['GET', 'POST'])
def index():
    message = "选择的人物为:"
    if request.method == 'POST':
        person = str(request.values.get("person"))
        return {'person': person}
    return render_template("index.html", temp=message)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8987, debug=True)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
python协程用法实例分析
Jun 04 Python
Pycharm导入Python包,模块的图文教程
Jun 13 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
python 二维数组90度旋转的方法
Jan 28 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
Flask中endpoint的理解(小结)
Dec 11 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
ubuntu安装jupyter并设置远程访问的实现
Python中time与datetime模块使用方法详解
Mar 31 #Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 #Python
Python利用zhdate模块实现农历日期处理
Mar 31 #Python
详解Python中__new__方法的作用
Mar 31 #Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 #Python
利用Python多线程实现图片下载器
You might like
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
用js遍历 table的脚本
2008/07/23 Javascript
JavaScript URL参数读取改进版
2009/01/16 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
浅析js封装和作用域
2013/07/09 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
angular中的post请求处理示例详解
2020/06/30 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
Python中的元组介绍
2019/01/28 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
大学生毕业鉴定
2014/01/31 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
企业法人授权委托书
2014/04/03 职场文书
林肯就职演讲稿
2014/05/19 职场文书
物理教育专业求职信
2014/06/25 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
英文邀请函
2015/02/02 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
单位政审意见范文
2015/06/04 职场文书
培训计划通知
2015/07/15 职场文书
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server
MYSQL常用函数介绍
2022/05/05 MySQL