Codeigniter不返回json / ajax响应

时间:2019-02-05 12:28:05

标签: php ajax codeigniter

我已经阅读了很多有关codeIgniter ajax响应的信息。我已经多次修改了我的ajax脚本,但codeIgniter不会返回json响应,尽管在Web控制台的“网络”选项卡下使用firefox开发人员浏览器进行调试时会看到响应。这是我写的

AJAX脚本

$("#class_id").change(function(){

    var class_id = $("#class_id").val();
    alert(class_id);
    alert("<?php echo base_url(); ?>teacher/index.php?teacher/set_class_id");
        $.ajax({
            method: "POST",
            url: "<?php echo base_url(); ?>teacher/index.php?teacher/set_class_id",
            dataType: 'json',
            data: {class_id: class_id},

            success: function(response) {
                $("#res").html(reponse.class_id);
            }
    });
    return false;

});

控制器

function set_class_id()
{
    if ($this->session->userdata('teacher_login') != 1)
        redirect(base_url(), 'refresh');

        //echo "dsdsd".$this->input->POST('class_id');
        if (!empty($this->input->POST('class_id')))
        {
            $page_data = array('class_id' => $this->input->POST('class_id'));
            //$response["JSON"] = json_encode($page_data);
            $response = array('class_id' => $this->input->POST('class_id'));

            echo json_encode($page_data);

            $this->load->view('backend/index', $page_data);

        }
}

2 个答案:

答案 0 :(得分:0)

您尝试过使用

$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode(array('foo' => 'bar')));

另外,请检查输出类以获取更多信息Codeigniter Output Class

答案 1 :(得分:0)

所以我想出了一条出路。仅使用php,我使用“提交”按钮将class_id发送到控制器,然后在页面上检查响应以启用主题下拉列表。虽然我还没有弄清楚为什么Ajax不能正常工作。谢谢大家的投入