收到json时为foreach()提供的参数无效

时间:2015-05-30 02:52:09

标签: ajax codeigniter

这是我的代码:

all_publication

public function add_jobs() { echo ($_POST['json']); foreach ($_POST['json'] as $key => $value) { $data[] = array('name'=>$value['pub_name'],'details'=>$value['pub_details'],'date_time'=>$value['pub_date']); } $this->profile_model->insert_publication($data); } 是一个包含值的数组,

控制器中的

我把这段代码:

main

但在我看来这条消息"为foreach()&#34提供了无效的参数;

请告诉我解决问题的方法。

2 个答案:

答案 0 :(得分:0)

您不需要对阵列进行字符串化。尝试:

data: {json : all_publication}, 

答案 1 :(得分:0)

在将第二个参数传递给foreach循环之前,将 json_decode 与第二个参数一起使用(以便将输出作为数组)

所以修改后的代码看起来像

public function add_jobs()
{
    echo ($_POST['json']);
    $postArray=json_decode($_POST['json'], true); // Decoding json to array
    foreach ($postArray as $key => $value) {
        $data[] = array('name'=>$value['pub_name'],'details'=>$value['pub_details'],'date_time'=>$value['pub_date']);
    }
    $this->profile_model->insert_publication($data);
}