2013-05-08 119 views
0

我正在尋找一種方法將jQuery中的對象數組對象發佈到PHP文件中,並對其進行解碼。發佈對象數組對象(jQuery/PHP)

我已經試過什麼:

jQuery的

myTab1[0] = {a: 2, b: 3}; 
myTab1[1] = {a: 1, b: 1}; 
myTab2[0] = {a: 42, b: 43}; 
myTab2[1] = {a: 15, b: 17}; 
var info = {id: 57, 
      title: 'myTitle', 
      tab1: JSON.stringify(myTab1), 
      tab2: JSON.stringify(myTab2) 
      }; 
$.post('save.php', info); 

PHP

$tab1 = json_decode($_POST['tab1']) 
echo count($tab1); // always 1, whatever myTab1 

有你的想法嗎?

+1

是什麼'var_dump($ tab1);' – 2013-05-08 12:02:21

+0

實際上我看不到直接訪問PHP文件,因爲'$ .post('save.php',info);'不會重定向我。 – Arnaud 2013-05-08 12:05:41

+1

當我運行這個代碼$ tab1是2.我不得不添加'var myTab1 = []; var myTab2 = [];'在Javascript的開始。 – 2013-05-08 12:09:16

回答

2

請確保您使用的是count,這是一個數組,通過您的代碼,看起來您正在計算結果json_decode這是一個對象。使用計數不會按預期工作。

注意PHP與count上的東西有點問題,那就是false:如果你這樣做count(false)它將返回「1」,所以一定要確保你指望的東西存在,並且是一個數組。

也,嘗試使用第二個參數指定要與陣列通過傳遞「真」

$tab1 = json_decode($_POST['tab1'],true);

或者強制轉換爲數組,你解碼

$tab1 = (array)json_decode($_POST['tab1']);