1

JS:

$(function() {
    load_custom_topics()
//    load_main()
});

function load_custom_topics(){
    $.ajax({
    type: "POST",
    async: false,
    url: 'http://rickymason.net/thebump/index.php/ajax/load_custom_topics',
    dataType: 'json', 
    data: { },
        success: function(page){
            alert(page);
        }
    });
    event.preventDefault()
}

load_custom_topics

public function load_custom_topics()
{
    $check = $this->page_model->check_active_topic();
    if ($check == FALSE) 
    {
            $page['content'] = 'TEST equals FALSE'; 
    } else {
            $page['content'] = 'TRUE'; 
    }
    echo json_encode($page);
}

转到页面 index.php/ajax/load_custom_topics 返回:

{"content":"TEST equals FALSE"}

警报没有触发!知道为什么吗?

4

1 回答 1

2

实际上,在检查对控制器的请求时,我发现您没有设置 ajax 调用期望的正确标头(文本/json)。

请参阅 codeigniter 的输出类。

使用

$this->output->set_content_type('application/json')->set_output(json_encode($page));

代替

echo json_encode($page);

应该做的伎俩。

于 2012-09-13T15:55:25.500 回答