我正在尝试使用$ this-> input-> post()从视图页面接收发布数组。但是,似乎CI无法做到这一点。有什么想法吗?
控制器
public function pub()
{
// the postArray is an array: $postArray['t1']=test1, $postArray['t2']=test2
$go=$this->input->post('postArray');
foreach ($go as $test){
echo $test['t1']; //show nothing
echo $test['t2']; //show nothing
}
//the following code would work if I sent the $postArray as a string variable
public function pub()
{
// the postArray is an string variable $postArray='test1'
$go=$this->input->post('postArray');
echo $go; //show test1
}
感谢您的帮助。
更新: 以下是我的视图页面中的Jquery代码
//postArray is an array
$.post('<?=base_url()?>/project_detail/pub', {'postArray':postArray},function(go)
{
alert(go);
})
答案 0 :(得分:5)
您检查过HTML吗?您应该将[]
综合包含到name
属性中以创建数组,例如
<input type="text" value="something..." name="postArray[]" />
<input type="text" value="something..." name="postArray[]" />
print_r($this->input->post())
的输出:
Array (
[0] => something...
[1] => something...
)
如果要包含名称键而不是索引数组,可以使用此方法:
<input type="text" value="something..." name="postArray[t1]" />
<input type="text" value="something..." name="postArray[t2]" />
print_r($this->input->post())
的输出:
Array (
[t1] => something...
[t2] => something...
)