codeigniter可以接收post数组吗?

时间:2012-01-30 20:12:15

标签: arrays codeigniter post

我正在尝试使用$ 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);
        })

1 个答案:

答案 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...
)