如何使用php显示对弹出窗口的数组响应

时间:2014-07-18 08:41:47

标签: php ajax json codeigniter

我在codeigniter中使用了对php函数的ajax调用。获得结果后,我需要在同一页面的弹出窗口中显示。现在我无法显示数组中的内容。下面是我的codeigniter控制器功能。我不认为我的代码是正确的。

    public function print_details1() {
    $this->isLoggedIn();
    $id = $_POST['id'];
    $response = $data['notifications'] = $this->file_model->print_view_detail($id);
    echo json_encode($response);
}

ajax请求就是这个

$.ajax({
    url: "" + baseurl + "/file/print_details1",
    async: false,
    type: "POST",
    dataType: "html",
    cache: false,
    data: {id: getvalue},
    success: function(response) {

        $('#myModal2').modal('show');

    }
});

我的弹出式ID是myModal2。我在弹出窗口中给出了以下代码。

<?php
  foreach ($response as $notification) {

  echo $notification->publication_name; 
} ?>

现在使用firebug检查时出错。 &#34;未定义的变量:响应&#34;和#34;为foreach()提供的参数无效&#34; 这有什么问题?

1 个答案:

答案 0 :(得分:0)

您正在混合使用PHP和HTML / jQuery。 下面是一些伪代码,向您展示如何执行此操作的正确流程。

让我们说你的模态有一个像这样的id的div:

<div id="#content"></div>

现在在你的ajax success()函数中,你要遍历并迭代到#content

.success(function(response){
    $.each(response, function(i, item){
       $('#content').append(item);
    });

    $('#myModal2').modal('show');
});

<强>记住 上面是伪代码,你必须自己解决这些问题,但这会向你展示你应该如何解决它的一般流程: - )