python -- ajax数组传递和后台接收

phper转pythonerphp

在当初使用php作网站开发的时候,前端ajax传递数据的时候,就是直接将一个数组传递过去,后台用$_POST['key']接收便可,没有考虑那么细,想来这不都是理所固然的么,直到最近用python开发网站的时候,才发现没那么简单。前端

 

一个二维数组,查看参数传递,以下:python

traditional:false //默认为false,不使用传统方式来序列化,即会深度序列化参数对象ajax

在python后端,使用request.POST.getlist('goods_size')来获取参数,发现获取到的是一个空列表,分析缘由得知,由于深度序列化了,键再也不是“goods_size”了,而分别是“goods_size[0][goods_id]、goods_size[0][standardsize_id]、等等”,python后端经过“goods_size”做为键名来获取值,确定是获取不到的!json

traditional:true //使用传统方式来序列化,不深度序列化参数对象后端

在python后端,使用request.POST.getlist('goods_size')来获取参数,发现获取到的是一个列表,确实取到列表数据了,但其内容分别是两个“[object Object]”这个字符串,后台也没法作任何处理(可能我技术不够,暂时找不处处理方法)。数组

 


 

苦苦搜寻,终于找到解决方案,以下:网站

一、先在前端将要传入的数组进行json格式化(后端为php的时候好像不须要),'goods_size' : JSON.stringify(goods_size),http消息体中传递的数据以下:orm

二、深度序列化与否貌似关系不大对象

三、在后台经过request.POST.get('goods_size'),获取到一个列表字符串,以下:

 

四、经过一些转换,将接收到的数据转换成想要的格式

相关文章
相关标签/搜索