如何在codeigniter中从控制器外部访问控制器功能

时间:2014-08-24 05:58:32

标签: ajax codeigniter

我有一个文件夹(假设它的名字是“test”)在控制器文件夹之外,其中包含文件名“error404.php”,我的控制器名称是“test_controller.php”,其方法名称为“tst()” 。 error404.php是一个视图页面,我想通过ajax从test_controller.php访问数据。

<script>
$(document).ready(function(e) {
    $('#search_items_err').keyup(function(e) {
    if($('#search_items_err').val().trim()==''){$('#sugglist').html(''); return false;}
        search_key=$(this).val().trim();

        var data = {
                        search_key: search_key
                    };
                    alert(search_key);
       $.ajax({
                        data: data,
                        type: "post",
                        url: "test_controller/tst",
                        success: function(response) {
                            var options = JSON.parse(response);
                            alert(options);
                        }
                    });
    });
});


</script>


 My tst function is:



public function tst(){
$search_key = $_POST['search_key'];
echo "success";
}

但我的ajax不起作用。我怀疑它可能包含(url:“test_controller / tst”)中的一些问题。那我怎么解决呢?从error404.php页面访问test_controller方法的语法是什么?如何访问base url?

1 个答案:

答案 0 :(得分:0)

看看这个ajax概念

你的ajax函数中的

url : baseURL+'test_controller/search', //Make sure this url is working properly
data : {'search_key' : search_key},
你在test_controller / search

中的

public function search()
{
    //generate data and load your view

    $data = "Generated Data array";
    $this->load->view('test_folder/search', $data); //Load your view from application/view/ not from outside the controller

}