我已经阅读了很多有关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);
}
}
答案 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不能正常工作。谢谢大家的投入