Python Flask前后端Ajax交互的方法示例
作者:夏夜星语 发布时间:2021-09-07 09:09:21
标签:Flask,前后端交互,Ajax
之前总结过flask里的基础知识,现在来总结下flask里的前后端数据交互的知识,这里用的是Ajax
一、 post方法
1、post方法的位置:在前端HTML里,绑定在一个按钮的点击函数里,或者一个鼠标输入框点击离开事件。
(1)数据附在URL里(请求路径),发送到后端。
/*前端HTML<script>里:*/
$.post("/js_post/"+ip, data_to_backend, function(data){alert("success "+data)} );
其中ip,data_to_backend是在此代码前定义好的;data_to_backend一般是一个json数据(data_to_backend={'ip':$(this).parent().prev().text()})
,而data是来自后端的返回数据。
#后端py文件(路由启动前面的html的py文件)里:添加一个路由处理前端post请求
@app.route("/js_post/<ip>", methods=['GET', 'POST'])
def js_post(ip):
print ip
return ip +" - ip"
点击按钮后的效果:
前端定义弹窗数据
ip在URL里
(2)数据单独发送给后端
var ip = $(this).parent().prev().prev().prev().prev().text();
data_tmp = {'ip':ip, 'text':"success for ajax"}; // data to send to server.
$.post('/js_call', data_tmp, function(data){alert(data)});
后端处理程序:
@app.route('/js_call', methods=['GET', 'POST'])
def js_call():
print request.values['ip']
print request.values['text']
# to send the command by ssh : os.system("ssh user@host \' restart(command) \' ")
return 'ok!!!!'
post独立数据发送
二、get方法(同样可以发数据)
$.get('/js_get', {'method':'GET', 'text':"from-html"}, function(data){alert(data)})
后端路由接收处理:
@app.route('/js_get', methods=['GET'])
def js_get():
print "method: "+request.values['method']+" --- text: "+request.values['text']
return "get success!"
get成功
数据接收成功
注意的是:其中后端py文件的类似request.values['method']
的获取数据的request是一个Python flask的模块,需要导入。
总结:
在flask框架里,Ajax请求对于后端可以很容易实现,只需在后端Python代码中对ajax路径作出处理即可。
Ajax的post, get方法均可以向后台发送数据,只是一般用post发数据(做出改变),get请求数据(不改变)。
来源:https://www.jianshu.com/p/51ce7214e14e
0
投稿
猜你喜欢
- 环境Laravel 5.4原理在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口
- 本文实例讲述了Django框架静态文件使用/中间件/禁用ip功能。分享给大家供大家参考,具体如下:静态文件一、静态文件的使用静态文件:网页中
- Python中的单元测试我们先来回顾一下Python中的单元测试方法。下面是一个 Python的单元测试简单的例子:假如我们开发
- 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
- 为什么我写ASP分页教程要提到AJAX呢,因为我们要多练习一下编程过程中,结构化的重要性. 再加上很多朋友对分页感到很高深,所以一直都不敢去
- 在ASP.NET中,如何连接 SQLServer数据库?连接数据库:<%@ Import Namespace=&q
- 内容摘要:通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为XML文件格式。这种方式
- 新上的一台服务器出现了一个现象:ASP程序中,调用函数Now(),显示的时间总是形如“2009-07-12 上午 08:12:56”这样的,
- 先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下:SELECT TOP 页
- python 列表和链表的区别python 中的 list 并不是我们传统意义上的列表,传统列表——通常也叫作链表(linked list)
- 在网站开发的时候经常要用chr(),但本人比较懒没时间记那么多。于是到用到的时候就查,这样麻烦。现在将它写出来方便以后用到查,也方便大家!c
- 设计与开发之间本有一线界限,但当时代步入又一个十年,这个线变得更加模糊甚至感觉不到它的存在。使用PS设计网页版面,足矣?或许五年前是吧!现在
- 1、某汽车网站地址2、使用firefox查看后发现,此网站的信息未使用json数据,而是简单那的html页面而已3、使用pyquery库中的
- 打开VB6,新建ActiveX DLL 2、在工程引用中加入Microsoft Active Server Pages Object Lib
- 简单生成器有许多优点。生成器除了能够用更自然的方法表达一类问题的流程之外,还极大地改善了许多效率不足之处。在 Python 中,
- 一.文件基本操作1.1 文件打开和关闭open(‘文件名称','打开模式')模式:r(只读,指针再头) w(只写,存
- 今天刚看到ChinaUI.com新改版的网站,觉得优艾网是越来越漂亮了,这次的变化的确是挺大的。一早大概的看了一下就关了,后来晚上又打开看时
- 科学设计你的网站网页:来自 Eye-Tracking研究的23节必修课 ——Christina Laun在网络设计领域关于Eye-
- CSS styles和HTML styles有什么区别?HTM style是指自定义HTML标识中一些标签,例如说在HTML中〈B〉〈/B〉
- 自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。Traits 是一种为类似 PHP 的单继承语言而准备的代