Code Igniter:使用jQuery加载控制器,但禁止直接加载url

时间:2013-01-25 14:01:32

标签: php codeigniter-2

我在Code Igniter中构建了一个网站,其中包含一个评论系统,可以为每个页面加载带有jQuery的控制器函数。

我还在加载时将文章ID作为URI段传递给控制器​​。

让我们说控制器名称是“comments”,功能是:

function get_comments(){
$article_id = $this->uri->segment(3);
echo 'the uri segment is '.$article_id;
}

我使用以下jQuery将它们调用到我的页面:

$(document).ready(function(){
$('.comments-holder').load('<?php echo base_url();?>comments/get_comments/'<?php echo $article_id;?>);
});

这很好。

我想要完成的事情是禁止用户通过输入http://www.domain.com/comments/get_comments/

来加载“get_comment”函数

我相信有可能没有解决这个问题的方法,即使这意味着要做更多的改变,解决方法也会很好。

1 个答案:

答案 0 :(得分:0)

Code igniter默认使用此功能。

在ajax动作中添加:

if ($this->input->is_ajax_request()) {
    // your regular ajax code
} else {
    // redirect or show error
}