详解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面向对象编程中的类和对象学习教程
Mar 30 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
Python爬虫信息输入及页面的切换方法
May 11 Python
详解Python 正则表达式模块
Nov 05 Python
学习python可以干什么
Feb 26 Python
Python提取频域特征知识点浅析
Mar 04 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
Python实现汇率转换操作
May 03 Python
Python使用BeautifulSoup4修改网页内容
May 20 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中实现简单的ACL 完结篇
2011/09/07 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
学习jquery之一
2007/04/27 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
简历中自我评价范文
2015/03/11 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书