dio*_*jie 6 javascript php ajax jquery codeigniter
我有一些问题.首先,我想将我的数据存储到数组集合中.然后将数据传递给控制器提交.这是我的代码
Ajax.php
$("#submit").click(function() {
var total = 3;
var photos = new Array();
for(var i = 0; i < total; i++)
{
photos[i] = $('#thumbnail'+i+'').children('img').attr('src');
var collection = {
'no' : i,
'photo' : photos[i]
};
}
$.ajax({
type: "POST",
url: "<?php echo base_url()?>create/submit",
data: {collection : collection},
cache: false,
success: function(response)
{
console.log(response);
alert('success');
window.location = '<?php echo base_url()?>create/submit';
}
});
});
Run Code Online (Sandbox Code Playgroud)
[编辑]
调节器
function submit()
$collection = $this->input->post('collection');
print_r($collection);
if(is_array($collection)) {
foreach ($collection as $collect) {
echo $collect['no'];
echo $collect['photo'];
}
}
else
{
echo 'collection is not array!';
}
}
Run Code Online (Sandbox Code Playgroud)
结果
collection is not array!
Run Code Online (Sandbox Code Playgroud)
基于PeterKa解决方案,我在控制台的控制台中得到了这个
Array
(
[0] => Array
(
[no] => 0
[photo] => https://scontent.cdninstagram.com/hphotos-xap1/t51.2885-15/s320x320/e15/11176494_1106697872689927_2104362222_n.jpg
)
[1] => Array
(
[no] => 1
[photo] => https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s320x320/e15/11376044_838742186174876_410162115_n.jpg
)
[2] => Array
(
[no] => 2
[photo] => https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11381470_878168042272606_1132736221_n.jpg
)
)
Run Code Online (Sandbox Code Playgroud)
但是,我的控制器中的结果没有达到预期的效果.
该collection变量是循环的本地变量,并不包含您迭代的所有数据.相反,尝试这样的事情,虽然你真的不需要一个对象来停止索引src- 一个简单的一维数组会做:
$("#submit").click(function() {
var total = 3;
var photos = new Array();
for(var i = 0; i < total; i++)
{
var collection = {
'no' : i,
'photo' : $('#thumbnail'+i+'').children('img').attr('src')
};
photos.push( collection );
}
$.ajax({
type: "POST",
url: "<?php echo base_url()?>create/submit",
data: {collection : photos},
cache: false,
success: function(response)
{
console.log(response);
alert('success');
window.location = '<?php echo base_url()?>create/submit';
}
});
});
Run Code Online (Sandbox Code Playgroud)
您发送的数据格式如下:
photos = [
{
"no": 1,
"photo":"this is a link"
},
{
"no": 2,
"photo":"this is a link"
},
{
"no": 3,
"photo":"this is a link"
}
]
Run Code Online (Sandbox Code Playgroud)