Python Flask前后端Ajax交互的方法示例

作者:夏夜星语 时间:2021-09-07 09:09:21 

之前总结过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"

点击按钮后的效果:

Python Flask前后端Ajax交互的方法示例

前端定义弹窗数据

Python Flask前后端Ajax交互的方法示例

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!!!!'

Python Flask前后端Ajax交互的方法示例

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!"

Python Flask前后端Ajax交互的方法示例

get成功

Python Flask前后端Ajax交互的方法示例

数据接收成功

注意的是:其中后端py文件的类似request.values['method']的获取数据的request是一个Python flask的模块,需要导入。

总结:

  • 在flask框架里,Ajax请求对于后端可以很容易实现,只需在后端Python代码中对ajax路径作出处理即可。

  • Ajax的post, get方法均可以向后台发送数据,只是一般用post发数据(做出改变),get请求数据(不改变)。

来源:https://www.jianshu.com/p/51ce7214e14e

标签:Flask,前后端交互,Ajax
0
投稿

猜你喜欢

  • python实现DNS正向查询、反向查询的例子

    2022-10-29 07:18:55
  • Python实现直播弹幕自动发送功能

    2021-08-23 12:31:37
  • Python对数据进行插值和下采样的方法

    2022-06-02 03:36:41
  • php5.2 Json不能正确处理中文、GB编码的解决方法

    2023-10-26 13:49:28
  • Python对接六大主流数据库(只需三步)

    2022-04-25 21:51:55
  • django 微信网页授权认证api的步骤详解

    2021-09-15 03:58:40
  • Python实现RGB等图片的图像插值算法

    2023-03-30 17:11:55
  • 用asp实现读取文件的最后一行的代码

    2011-03-08 10:55:00
  • insert select与select into 的用法使用说明

    2012-01-05 18:47:58
  • ASP实现控制虚拟主机功能的函数ADSI

    2008-10-12 13:12:00
  • ASP网站远程客户实现EXCEL打印功能

    2009-02-02 09:01:00
  • 从SNS看社会化界面设计(一)

    2009-02-23 12:21:00
  • SQL Server字符串切割函数

    2012-08-21 10:18:43
  • 对python条件表达式的四种实现方法小结

    2023-11-05 17:01:58
  • Python实现螺旋矩阵的填充算法示例

    2022-06-30 00:18:47
  • 使用MySQL数据库的23个注意事项

    2010-03-18 15:46:00
  • Django models.py应用实现过程详解

    2021-07-18 11:11:08
  • SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期

    2011-10-24 20:14:52
  • php flv视频时间获取函数

    2023-09-04 13:41:48
  • 加载 Javascript 最佳实践

    2011-01-16 18:29:00
  • asp之家 网络编程 m.aspxhome.com