方式一,通过ajax来实现删除功能

发起请求时,需要传送图书id

首先完成视图函数的功能

接收数据

两种方式

1 直接获取json字符串




python写给前端传数据的接口 python获取前端数据_ajax


2,使用request对象的get_json()方法


python写给前端传数据的接口 python获取前端数据_py获取前端的参数_02


注意

如果是前端发ajax

需要和他约定好数据结构

本例中,和前端约好的发送数据的格式为:

{'book_id':图书id}

使用ajax发一个post请求

flask是可以接收post请求的


python写给前端传数据的接口 python获取前端数据_python写给前端传数据的接口_03


拿到图书id后

就需要从数据库中删除

删除的流程

  1. 找到图书行对易用
  2. session删除 delete(对象)
  3. session提交


python写给前端传数据的接口 python获取前端数据_python写给前端传数据的接口_04


删除内容后需要跳转

flask模块中的跳转函数

redirect(跳转的页面)

flask模块中的url_for

是反向解析


python写给前端传数据的接口 python获取前端数据_json_05


url_for(视图名称)

返回视图函数所对应的路由名称

至此为止删除的所有操作了

接收数据

删除数据

页面跳转(用到了跳转的函数,和反向解析的函数)


后端完成后,就需要前端处理了

如果是前后端分离的情况

前端的是我们不用管的

只需要处理好后端就可以了

前端开始

首先即然是要删除图书

所以需要在删除的按钮上做一个事件


python写给前端传数据的接口 python获取前端数据_python写给前端传数据的接口_06


做相关的准备

写jquery需要导入静态文件

导入的位置

flask的模板默认为启动py程序同一级的templates目录

静态目录默认是static目录

因此我们可以直接在static目录中

把jquery添加进去


python写给前端传数据的接口 python获取前端数据_json_07


前端导入jquery


python写给前端传数据的接口 python获取前端数据_py获取前端的参数_08


导入工作完成

下一步,准备jquery代码



python写给前端传数据的接口 python获取前端数据_py获取前端的参数_09


可以给链接添加事件


python写给前端传数据的接口 python获取前端数据_json_10


当前的情况,给a标签添加了一个点击事件

点击会触发 deleteBook函数

函数体内要做的事情

1,获取图书的id

2,发送ajax请求

解决图书id的数据

因为前端没有

我们就自己把需要的内容塞在标签中

自定义了a标签的book-id后

就可在jquery中获取它的值了


python写给前端传数据的接口 python获取前端数据_py获取前端的参数_11


发送ajax的简写形式:

$.请求方式(网址,参数字典,回调函数)

比如要发送post请求

$.post(url,{},function(da){})

由于后端是等待接收一个json

所以前端 要发json

复习前端json与对象的转换


python写给前端传数据的接口 python获取前端数据_ajax_12


python写给前端传数据的接口 python获取前端数据_ajax_13


python写给前端传数据的接口 python获取前端数据_ajax_14


前端发请求要把数据转成json

方式上面回顾了

后端回响应也要回json


python写给前端传数据的接口 python获取前端数据_ajax_15


可以用通用的

json.dumps(字典)方式来回复json

也可以用

flask.jsonify(键=值,键2=值2)

来回复一个json


python写给前端传数据的接口 python获取前端数据_json_16


关于ajax的dataType

没有dataType时


python写给前端传数据的接口 python获取前端数据_json_17


如果有dataType

同时声明它是一个json

就可以省掉转换的操作步骤


python写给前端传数据的接口 python获取前端数据_ajax_18


python写给前端传数据的接口 python获取前端数据_python写给前端传数据的接口_19