python -- ajax数组传递和后台接收
phper转pythoner
在当初使用php做网站开发的时候,前端ajax传递数据的时候,就是直接将一个数组传递过去,后台用$_POST['key']接收即可,没有考虑那么细,想来这不都是理所当然的么,直到最近用python开发网站的时候,才发现没那么简单。
一个二维数组,查看参数传递,如下:
traditional:false //默认为false,不使用传统方式来序列化,即会深度序列化参数对象
在python后端,使用request.POST.getlist('goods_size')来获取参数,发现获取到的是一个空列表,分析原因得知,因为深度序列化了,键不再是“goods_size”了,而分别是“goods_size[0][goods_id]、goods_size[0][standardsize_id]、等等”,python后端通过“goods_size”作为键名来获取值,肯定是获取不到的!
traditional:true //使用传统方式来序列化,不深度序列化参数对象
在python后端,使用request.POST.getlist('goods_size')来获取参数,发现获取到的是一个列表,确实取到列表数据了,但其内容分别是两个“[object Object]”这个字符串,后台也无法做任何处理(可能我技术不够,暂时找不到处理方法)。
苦苦搜寻,终于找到解决方案,如下:
1、先在前端将要传入的数组进行json格式化(后端为php的时候好像不需要),'goods_size' : JSON.stringify(goods_size),http消息体中传递的数据如下:
2、深度序列化与否貌似关系不大
3、在后台通过request.POST.get('goods_size'),获取到一个列表字符串,如下:
4、通过一些转换,将接收到的数据转换成想要的格式
python -- ajax数组传递和后台接收的更多相关文章
- json数组传递到后台controller
现前台有如下格式的数据需要传递到后台的controller, public class UpdatePara { public int RoleID { get; set; } public List ...
- 关于ajaxSubmit传递参数 后台接收为"参数,参数”的问题
问题: 用户名密码往后台提交的时候,发现接收到的参数变成了下图 解决办法: 去掉ajaxSubmit的data属性 如下图 解释:因为ajaxSubmit在封装的时候会自动的从被form包裹的表单控件 ...
- 【JS】【2】ajax传的参数为数组时,后台接收为null的处理
前言: 1,参考博客:解决JavaScript中使用$.ajax方式提交数组参数 - Just_Do - 博客园(http://www.cnblogs.com/caoyc/p/5710702.html ...
- AJAX 异步传数组时候,后台接收不到!
呵呵,那么问题又来了! 这是为啥呢!! var ids= []; $.ajax({ url: 'xxxx.do', data: { ids: ids}, dataType: "json&qu ...
- js前台传数组,java后台接收转list,前后台用正则校验
前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合. 前台js:var params = {"FileNameList&qu ...
- js 中数组传递到后台controller 批量删除
/*批量删除*/function datadel(url) { var ids=[]; $("input[type='checkbox']:checked").each(funct ...
- ajax 传参数 java后台接收
- ajax传递数组后台接收不到值的问题
背景: JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值. 后台语言:java 原因: ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对 ...
- Spring Mvc 页面传递数组到后台接收
1.定义一个简单的类 User.java public class User { private Integer id; private String name; public Integer get ...
随机推荐
- BZOJ2255 : [Swerc2010]Palindromic DNA
考虑2-SAT建图,设$a[i][0..1]$表示$i$变不变,$b[i][0..1]$表示$i$是下降还是上升. 首先相邻的不能同时动,说明$a[i]$和$a[i+1]$里最多选一个. 对于$x$和 ...
- shell脚本使用技巧4--读取字符,重复执行
ls | cat -n > out.txt 给输出的信息加行号并导出到out.txt 利用shell生成一个独立的进程 pwd; (cd /bin; ls); pwd; 开启一个子shell,不 ...
- LOJ #10084. 「一本通 3.3 练习 1」最小圈(二分+SPFA判负环)
题意描述: 见原LOJ:https://loj.ac/problem/10084 题解: 假设所求的平均最小值为X,环上各个边的权值分别为A1,A2...Ak,可以得到: X=(A1+A2+A3+.. ...
- 最大流:Dinic算法
蒟蒻居然今天第一次写网络流 我太弱啦! 最大流问题有很多解法 虽然isap常数巨小 但是连dinic都写挂的本蒟蒻并不会orz 那么我们选用比较好实现的dinic来解决最大流问题 来一段定义: ...
- Mac下R语言环境搭建
Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...
- Centos-Mariadb(新版mysql)无法远程连接
实际上之前有别人安装过了,对于这种交接的工作最难做,也就是沟通问题.我需要解决的问题是远程连接的问题,百度了一下后,被各路大佬绕的稀里糊涂,耗费了3 个小时 对于即将提交项目的我们来说,简直头疼.表示 ...
- Java中的RASP实现
RSAP RASP是Gartner公司提出的一个概念,称:程序不应该依赖于外部组件进行运行时保护,而应该自身拥有运行时环境保护机制: RASP就是运行时应用自我保护(Runtime applicati ...
- Docker技术快速精通指南
doctor专业网站:http://www.dockerinfo.net/ Docker中文文档 csdn 的docker专栏: Docker技术快速精通指南
- VS2013中Python学习笔记[基础入门]
前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html. ...
- 自动化运维之PSSH
1.PSSH简介 PSSH提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用. pssh是py ...