如何使用GET方法并将其路由到Codeigniter? 我有这个:
index.php?search_term=somestring
如何在控制器中获取搜索词值以及如何使URL清洁如下:
search/somestring
答案 0 :(得分:1)
您可以使用get方法获取网址数据
像这样$this->input->get();
如果您想要清除网址,那么您应该路由您的网址
转到
应用/配置/ routes.php文件
$route['search/(:any)'] = "controller/function/$1";
您可以在控制器中使用此$this->uri->segment(2);
答案 1 :(得分: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);
}
}