我正在尝试传递这个充满对象的数组:
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 并发现传递给控制器的数据对象必须是 key => value 格式。我读到它确实需要一个对象。
所以我想如果我通过了步骤数和每个单独的步骤,我会在我的 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