0

如何使用 GET 方法并在 Codeigniter 中路由它?我有这个 :

index.php?search_term=somestring

如何在控制器中获取搜索词值以及如何使 URL 干净,如下所示:

search/somestring
4

2 回答 2

1

您可以使用 get 方法并像这样获取 url 数据$this->input->get();

如果你想让 URL 干净,那么你应该路由你的 url

应用程序/config/routes.php

$route['search/(:any)'] = "controller/function/$1";

您可以在控制器中使用此获取 url 段$this->uri->segment(2);

于 2018-06-06T14:26:54.340 回答
0

试试这个代码:

html:

<?=form_open(base_url(), array('id' => 'search'))?>
    <input type="text" class="form-control" placeholder="Keyword..." name="query" id="search_query">
    <button class="btn btn-default" id="btn-search" type="button">
        Search
    </button>
<?=form_close()?>

Javascript:

$("#btn-search").click(function(){
    var query = $("#search_query").val();
    window.location = '/search/'+query;
});

$('form#search').bind("keypress", function(e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        var query = $("#search_query").val();
        return window.location = '/search/'+query;
    }
});

路线:

$route['search/(:any)'] = 'Controller/search/$1';

控制器:

public function search($keyword = null)
{
    if($keyword == null)
        redirect(base_url());
    else
    {
        $keyword = urldecode($keyword);
        $data = array(
            'category' => $this->Category_Model->search($keyword)
        );
        $this->load->view('search', $data);
    }
}
于 2018-06-06T22:22:14.050 回答