オブジェクトで満たされたこの配列を渡そうとしています:
var steps = [
{
bla: blu,
bla: blu,
bla: blu
},
{
// etc.. 3 more times same format
}
];
jQuery の $.ajax() 関数を使用して、私の codeigniter コントローラーに。
私はこのようにしてみました:
$.ajax({
url: base_url + 'index.php/worldmap/ajax/start_travelling',
type: 'POST',
data: {
steps: steps
},
success: function(response){
console.log(response);
}
});
しかし、typeError が発生し、コントローラーに渡されるデータ オブジェクトはキー => 値の形式でなければならないことがわかりました。単一のオブジェクトを取ることを読みました。
したがって、ステップ数と個々のステップを渡した場合、それらを codeigniter コントローラーの配列に再度まとめると考えました。
だから私は次のようになりました:
var dataToSend = {
num_steps: steps.length
};
var i = 1;
$.each( steps, function( index, value ) ){
dataToSend.step+i = value; // I want the key to be step_1, step_2 etc..
i += 1;
};
$.ajax({
url: base_url + 'index.php/worldmap/ajax/start_travelling',
type: 'POST',
data: dataToSend,
success: function(response){
console.log(response);
}
});
しかし、おそらく推測できるように、.step + 1は機能していないようです。私がやろうとしていることをするための正しい構文は何ですか? または、マルチレベル配列を私のciコントローラーに渡すより良い方法を誰かが知っている場合は、共有してください:D