ajax获取后端数据_Django:前后端异步加载数据(循环大法)

45140e4f807d7f41776182a817518f19.png

距离上一次发文过去两个月,这段时间将Django,Bootstrap,JQuery收入囊中

开始写Django的一些笔记,祭奠那掉了一地的头发

关于Django项目创建和基础介绍,本篇不做介绍,主要介绍前后端异步交互数据,怎样提交前端的表单数据给后端,并储存到数据库。

网上大部分资料都是使用JQuery通过ID选择器,获取DOM元素的值组成data,然后使用ajax传递。大致是这样的:

feea931d7d81fdf7cb667810b29c9ace.png

在后端使用get获取ajxa传递过来的值:

b32714fcb0f7eb72e7a58266e709ae09.png

初期我也是使用的这种方式,然而在后续需要提交大量的表单数据,再使用这种方法代码就显得冗余了,因此我们要学会使用循环大法。


首先在html中给所有需要提交的表单元素添加一个公共的类datas(这个名字随便写的)

7318bdbe647fcdcd2a4c0aa3e7e95b3d.png

JQuery中使用类选择器$('.datas')找到所有的表单元素,然后使用.each循环

循环体中的语句:用当前DOM元素的id作为key,用当前DOM元素的值作为value

data[$(this).attr("id")] = $(this).val();

简简单单一行循环,搞定需要传递的data数据。

8dbae2f5131227064e77fc261a0d678d.png

设置4个按钮的点击事件,并传递execute参数

d0e4a57ec74d3bf77cc2b606173c220c.png

后端代码,根据execute参数,对数据库进行增删改

  1. .dict:将前端传递过来的数据转换成字典
  2. .pop :移出字典中不需要的元素
  3. **field_dic:拆包字典

203d5317c4b3dd66bfb48bbf6a753dfb.png

循环大法用的好,下班下的早

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值