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'),獲取到一個列表字符串,以下:
四、經過一些轉換,將接收到的數據轉換成想要的格式