2016-12-13 25 views
-1

に渡すことができないので、多次元配列を$ .post ajax関数に渡そうとしていますが、何らかの理由で配列を読み取っていません。

sections = []; 

for (var i = 0; i < 2; i++) { 
    var array = new Array(); 
    array['main'] = i; 

    var items = new Array(); 
    for (var j = 0; j < 2; j++) { 
    var array2 = new Array(); 
    array2['sub1'] = (j+i); 
    array2['sub2'] = (j*i); 

    items[j] = array2; 
    } 
    array['items'] = items; 

    sections[i] = array; 
} 
console.log(sections); 
$.post("planners/save_sections?ajax=1", {sections: sections, id:id}, function(response) {}); 

したがって、パススルーされているポストデータをデバッグして見ていると、id変数を読み取ってもセクション変数を読み取れないようです。

PHPの側から私はprint_r($_POST)を使用して何が受信されているのかを確認し、id変数だけを読み取るように見えます。

ここに構文の問題がありますか?または私は何かを欠いている?事前に感謝します

答えて

0

配列に文字列キーを追加しようとしています。あなたはJavaScriptでそれを行うことはできません。

名前付きプロパティを動的に設定できるようにするには、オブジェクトを使用する必要があります。

あなたがnew Array()を使用するたび、あなたは{}を使用する必要があります。

var obj = {} 
obj['main'] = i; // or obj.main = i