详解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 相关文章推荐
Python中多线程及程序锁浅析
Jan 21 Python
粗略分析Python中的内存泄漏
Apr 23 Python
python结合API实现即时天气信息
Jan 19 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python机器人运动范围问题的解答
Apr 29 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
python3中calendar返回某一时间点实例讲解
Nov 18 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 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
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
js事件(Event)知识整理
2012/10/11 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
js闭包的用途详解
2014/11/09 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python实现单词拼写检查
2015/04/25 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
基于python监控程序是否关闭
2020/01/14 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
致跳远、跳高运动员广播稿
2014/01/09 职场文书
解除合同协议书
2014/04/17 职场文书
放假通知格式
2015/04/14 职场文书
安全主题班会教案
2015/08/12 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python