我的网站:

Python爬虫人工智能学习教程​www.python88.cn

最近在写一个django的web项目,后端代码基本都已经写好了,主要是前端,以前学过一段前端,只是对一些基本的方法知道,但还有很多东西不熟练,问题是在遇到表单数据时候,如何对参数整体打包发送后端接口,查阅相关资料发现一些知识点和方法,分享给大家,虽然我发现技术类文章阅读量比标题党文章低的多,但是还是要坚持分享原创技术文章,能多一个粉丝学到知识,对我文章肯定,我也觉得比几千的阅读量感觉心里更有成就感

我们今天要的效果是点击按钮,可以显示输入框中键值对,显示在页面,以此来说明参数较多的情况下如何整体打包和进行循环遍历

比如以下是我简单写的前端代码,代码结构是form表单,嵌套多个input输入框,username、password、city、age、sex是键,张三、123456、上海、100、男分别是键对应的值

下图是对应到浏览器显示的样式,我们实际开发中需要做的就是传参数到后端,我们需要将该参数打包成以下数据结构,类似python中的列表和字典,在本例子中,打包方式有两种,分别对应以下两种数据结构

数据结构一:数组嵌套对象[{},{},{},{},{}]

[{name: "username", value: "张三"} , {name: "password", value: "123456"}, {name: "city", value: "上海"} , {name: "age", value: "100"}, {name: "sex", value: "男"} ]

数据结构二:直接构造成对象{k:v,k:v,k:v,k:v,k:v}

{username: "张三", password: "123456", city: "上海", age: "100", sex: "男"}

下面会分别将构造成这两种数据结构的区别和用法

方式一:

当然我不排除你自己一个个手敲,写进去作为参数传递,但是如果我有很多个输入框,你在一个个去手写,构造参数显然是很不现实的,那该怎么办?jqury给我们提供的有方法

serializeArray():将表单数据整体打包成一个数组(类似python中的列表)

接下来开始看前端代码:

1、直接选择form表单,serializeArray(),进行打包,console.log为在空台输出,类似python中print

2、在控制台console中查看我们打包的数据,发现是一个数组包含了5个对象,(当然python中说法是列表里面包含5个字典)

3、接下来,因为我们要在网页输出内容,所以正常的思路就是遍历数组,得到每一个对象,再通过对象的键获取对象的值,就能拿到数据,接下来我们就这么做,代码如下

jQuery给我们封装了$.each()方法可以进行遍历,传入的参数是遍历的数组params,function中的参数i是遍历时候的下标,obj是遍历的每一个对象,最后我们在输出的时候,通过obj.name获取键,obj.value获取值,即可拿到数据,正确输出

方式二:

大家可以思考下,我们需要做的一步是将[{name: "username", value: "张三"} , {name: "password", value: "123456"}, {name: "city", value: "上海"} , {name: "age", value: "100"}, {name: "sex", value: "男"} ] 转换成 {username: "张三", password: "123456", city: "上海", age: "100", sex: "男"},该怎么做?

我们也可以在python中想下用什么方法?可以用字典推导式一步完成

那么在js中怎么做呢?我们用map方法

map方法:接受的x为数组中遍历的对象,通过给对象设置键值对,获取我们想要的数据结构

然后在遍历的时候,这次我们的param就不是数组,而是对象{username: "张三", password: "123456", city: "上海", age: "100", sex: "男"},function的两个参数也不是下标和对象了,而是键和值,代码中可以直接写key和value

最后同样能成功输出

总结:

一般在向后端传输的时候,我们需要传json数据,那么我们就会用方式二的写法,将序列化得到的数组再用map转成对象

django项目如何连接前端_Django项目中前端序列化参数获取相关推荐

  1. python如何启动前端_Django项目创建到启动详解(最全最具体)

    一.前言 (一).概述 Python下有许多个不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网址和APP都使用Django. Django是一个开放源码的Web应用框架, ...

  2. 阿里云服务器web项目启动连接mysql_eclipse web项目部署到阿里云服务器

    1.租用服务器和购买域名 不多说了 2.在阿里云上搭建JDK + Tomcat的+ MySQL的 (1)安装JDK 通过百胜安装JDK 执行命令yum -y install java-1.8.0-op ...

  3. Django使用mysql连接池_Django db使用MySQL连接池

    Django db使用MySQL连接池 Sep 25 2016 Django db模块本身不支持MySQL连接池,只有一个配置CONN_MAX_AGE连接最大存活时间,如果WSGI服务器使用了线程池技 ...

  4. ssm把后端数据传到前端_ssm框架中前端jsp页面的数据除了表单提交以外如何传到后台?...

    ssm框架里面,前端页面的数据是怎么绑定的,如果我不用表单提交的话,我该怎么在后台去取值?用表单提交,添加没问题,换成现在的就不行了? ssm框架里面,前端页面的数据是怎么绑定的,如果我不用表单提交的 ...

  5. Struts项目中前端页面向后台页面传参中文出现乱码(Get请求)

    问题描述:Struts项目中前端页面向后台页面传递中文参数值,中文值传递到后台后出现乱码并且以???形式出现 解决方法: 1.前端页面js文件中使用encodeURI()方法将所传递的中文值加密起来( ...

  6. Web项目中前端页面引用外部Js和Css的路径问题

    公众号:南宫一梦 Web项目中前端页面引用外部Js和Css的路径问题 一般我们在做Web项目时,通常会将多个页面引入的公共js和css文件抽取出来,单独写成一个公共文件,以期方便各个页面单独引入,达到 ...

  7. 【前端基础知识笔记】 【项目导向型】(持续更新中)

    我在做项目的过程中,学习了一些前端基础知识.为了方便以后的查询,将这些知识集中在这篇博客中,方便以后的查询. 注意!这些知识是不成体系的,因为我只是按照遇到的先后顺序记载于此.这是为了方便结合项目开发 ...

  8. 项目中前端ftl模板了解

    在项目中如前端页面list.ftl,代码部分如下: <!DOCTYPE html> <html> <#import "/spring.ftl" as ...

  9. Visual Studio Code 中部分代码变黑白色(前端vue-element-admin项目测试有效)

    @[TOC](Visual Studio Code 中部分代码变黑白色(前端vue-element-admin项目测试有效)) 代码变黑白色 使用vue-element-admin 后台模板在Visu ...

最新文章

  1. Python-常用字符串转换实例
  2. 关于IO模拟时序(SPI)的注意事项
  3. jzoj1164-求和【欧拉函数,数论】(筛欧拉函数模板)
  4. Tensorboard--模型可视化工具
  5. jeecg输入中文查询导表为空_简单查询
  6. PHP 7.0 5.6 下安裝 phpLDAPadmin 发生错误的修正方法
  7. html的vue项目怎么兼容ie,Vue项目兼容IE/360方法
  8. C++ 访问成员 “->“还是“.“
  9. sqlite的系统表sqlite_master
  10. 怎么删除映射网络里的计算机,如何映射网络驱动器 删除映射网络驱动器的方法...
  11. win10远程桌面连接无法找到计算机,解决win10远程桌面无法连接操作教程
  12. Python实现PU口袋活动更新提醒
  13. 老四苏-33:舰载机王 苏-33的另一个编号叫苏-27K。自然,它也是从苏-27改过来的,首飞于1987年8月17日。
  14. 小程序获取上一个页面或者某个页面内的值
  15. 凡事预则立,不预则废
  16. 黑马——C语言的一些基础(2)
  17. 三友硅业的化工厂人员定位系统——新导智能
  18. 贵州省那些大学有计算机专业,贵州大学的计算机专业全国排名第几?
  19. python代码手机壁纸_70行python代码实现壁纸批量下载
  20. 视频:电脑显卡知识科普

热门文章

  1. MFC日志(2011.4.9)
  2. 创业期的软件开发管理(二)
  3. [2005/05/03] 卡耐基选语
  4. 【数据仓库】——星型模型和雪花模型
  5. 推荐一个很棒的JS绘图库Flot
  6. 软件项目成员的业绩考核
  7. (转)服务器控件三个ID
  8. NGUI_2.6.3_(3D视图ScrollView)
  9. AndroidStudio安卓原生开发_UI高级_RecyclerView_循环复用控件_代替ListView_GridView---Android原生开发工作笔记121
  10. C++_引用_常量引用_函数_函数的默认参数---C++语言工作笔记033