鍍金池/ 問答/PHP  C++/ PHP如何接收前端提交的二級數(shù)組

PHP如何接收前端提交的二級數(shù)組

post提交二維數(shù)組,

    $.post(url, $("#orderForm").serialize(), function (data) {
        if (data.status == 0) {
            $('.tank-tishi-main-con-txt').html("保存成功" + msg);
            $('.tank-tishi-main').show();
            setInterval('window.order.reduce(' + state + ')', 1000);
        } else {
            layer.msg('保存存失敗');
        }
    }, 'json');

抓包請求格式如下

skuList[0].goods_id: 1
skuList[0].color: 113_白色
skuList[0].goods_remark: 
skuList[0].21_M: 
skuList[0].22_L: 
skuList[0].23_XL: 
skuList[0].24_XXL: 
skuList[0].25_XXXL: 
skuList[0].26_4XL: 
skuList[0].27_SS: 
skuList[0].28_S: 
skuList[0].29_M: 
skuList[0].210_L: 
skuList[0].211_XL: 
skuList[0].212_XXL: 

php端用$_POST接收,打印結(jié)果為

Array
(
    [0] => 
)

無法接收數(shù)據(jù),請問需要如何接收?

回答
編輯回答
糖果果

js拼接轉(zhuǎn)json提交。

2017年1月3日 19:47
編輯回答
未命名

問題不在php ,而在你的前端。

jQuery.js是支持多維數(shù)組的,其它庫封裝的ajax不一定支持。
但使用serialize()獲取的應(yīng)該是一個(gè)形如 a=33&b=44 這樣的字符串,而a和b 對應(yīng)form表單中的name,樓主把你的html部分的代碼拿出來看看。

php端接收post數(shù)據(jù)也就兩種方法:(樓主應(yīng)該沒有使用低版本的php吧?)

  1. $_POST
  2. $post=file_get_contents("php://input") 接收流形式的數(shù)據(jù),比如 axios.js 默認(rèn)的就需要用這種方式接收。

一般 jquery.js中的 ajax只需要使用 $_POST 就可以的。

如果不行,你應(yīng)該是修改了默認(rèn)的配置,那就用第二種方式試一下。

另外,我還是很感興趣,樓主通過 serialize() 是怎樣獲得二維數(shù)組的?

2018年8月30日 19:15
編輯回答
浪婳

問題出在請求參數(shù),將表單參數(shù)改成完全的數(shù)組接收OK

skuList[0][goods_id]: 1
skuList[0][color]: 113_白色
skuList[0][goods_remark]: 
.......
2018年2月5日 09:34