標籤:size 字元 height apt ring post standards 轉換 gpo
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數組傳遞和後台接收