详解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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
想学python 这5本书籍你必看!
Dec 11 Python
python实现键盘输入的实操方法
Jul 16 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
python转化excel数字日期为标准日期操作
Jul 14 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
浅析php创建者模式
2014/11/25 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python实现随机密码字典生成器示例
2014/04/09 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python中tell()方法的使用详解
2015/05/24 Python
python GUI实例学习
2017/11/21 Python
关于Python-faker的函数效果一览
2019/11/28 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
企业门卫岗位职责
2013/12/12 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
初中生操行评语大全
2014/04/24 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
员工自我评价范文
2015/03/11 职场文书
2015年财务人员工作总结
2015/04/10 职场文书