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数组传递和后台接收的更多相关文章

  1. json数组传递到后台controller

    现前台有如下格式的数据需要传递到后台的controller, public class UpdatePara { public int RoleID { get; set; } public List ...

  2. 关于ajaxSubmit传递参数 后台接收为"参数,参数”的问题

    问题: 用户名密码往后台提交的时候,发现接收到的参数变成了下图 解决办法: 去掉ajaxSubmit的data属性 如下图 解释:因为ajaxSubmit在封装的时候会自动的从被form包裹的表单控件 ...

  3. 【JS】【2】ajax传的参数为数组时,后台接收为null的处理

    前言: 1,参考博客:解决JavaScript中使用$.ajax方式提交数组参数 - Just_Do - 博客园(http://www.cnblogs.com/caoyc/p/5710702.html ...

  4. AJAX 异步传数组时候,后台接收不到!

    呵呵,那么问题又来了! 这是为啥呢!! var ids= []; $.ajax({ url: 'xxxx.do', data: { ids: ids}, dataType: "json&qu ...

  5. js前台传数组,java后台接收转list,前后台用正则校验

    前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合. 前台js:var params = {"FileNameList&qu ...

  6. js 中数组传递到后台controller 批量删除

    /*批量删除*/function datadel(url) { var ids=[]; $("input[type='checkbox']:checked").each(funct ...

  7. ajax 传参数 java后台接收

  8. ajax传递数组后台接收不到值的问题

    背景: JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值. 后台语言:java 原因: ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对 ...

  9. Spring Mvc 页面传递数组到后台接收

    1.定义一个简单的类 User.java public class User { private Integer id; private String name; public Integer get ...

随机推荐

  1. Markdown 的离线编辑工具推荐:Sublime Text3 or Typora?我推荐Typora

    最新版Sublime Text3 通过插件的方式,可以完美支持Markdown文档的编写,但是,唯一不完美的是实时预览的缺陷.可能各位看官要喷了,谁说Sublime Text3 不能实时预览的?你看: ...

  2. BZOJ4249 : Walls 防壁

    首先可以将攻击位置整理成折线,答案不变. 对于一个长度为$k$的询问,若折线不超过两段,那么显然可以暴力贪心求解. 否则考虑折线中最短的一段$x\rightarrow y$,若其长度$\leq k$: ...

  3. ajax请求json中的数据

    在这里不多说,直接可以运行代码看效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  4. html标题-段落-字符实体-换行

    Html标题标签: <h1>.<h2>.<h3>.<h4>.<h5>.<h6>标签可以在网页上定义6种级别的标题,这6种级别的标 ...

  5. SSH报错

    1.SSH 加入HQL查询时,报错 antlr.collections.AST.getLine()I 2.百度发现是 因为struts 和 hibernate红都有antlr-2.7.2.jar,但两 ...

  6. CSS_常见布局

    1.一列布局——常用于网站首页. html: <div class="top"></div> <div class="main"& ...

  7. R12.2常用手册

    >>Related Information Sources这本书包含在Oracle电子商务套件文档库中.如果该指南将您引用到其他Oracle电子商务套件文档中,只使用这些指南的最新版本12 ...

  8. requirejs amd module load example

    person.js /** * This example make use of requireJS to provide a clean and simple way to split JavaSc ...

  9. 先打11.2.0.3.8这个PSU,后建库

    SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; Session altered. SQL> select c ...

  10. centos 中查找文件、目录、内容

    1.查找文件 find / -name 'filename'12.查找目录 find / -name 'path' -type d13.查找内容 find . | xargs grep -ri 'co ...